Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-01-28

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 timotimo avar: yes, nom is our current main branch
00:01 avar Where's the build instructions for all of this?
00:01 masak avar: https://github.com/rakudo/r​akudo/blob/nom/INSTALL.txt
00:03 ab5tract avar: alternatively, you can use rakudobrew https://github.com/tadzik/rakudobrew/
00:03 avar amazing
00:04 ab5tract avar: is that your response to ./Configure.pl --backends=  ? :)
00:06 ab5tract anyway, looking forward to the backlog. ciao for now #perl6!
00:07 adu joined #perl6
00:07 timotimo gnite
00:10 avar mm, the INSTALL.txt needs some instructions for how to use your own clones of nqp/moarvm, I tried to compile my own moarvm and --with-moar just whinees about missing .so's
00:10 KCL_ joined #perl6
00:11 timotimo what i usually do is just point the --prefix= at the same place for all three components
00:11 timotimo but we also now have a flag that'll let you use existing git clones or at least existing git repos so you don't have to fetch everything over the 'net all the time
00:22 btyler avar: here's my "I'm sick of doing this by hand" 3-minute script for refreshing clones of moar, nqp, and rakudo: https://ssl.thorsen.pm/paste/4a9cbc9b6700 . not as a "use this code" but "pull out the perl Configure.pl lines to suit you"
00:23 SevenWolf joined #perl6
00:23 KCL_ joined #perl6
00:24 avar btyler: cool
00:36 * vendethiel prefers perl6's ffi to nim
00:36 vendethiel though we don't have memory regions... oh wait that's good
00:44 rjbs- joined #perl6
01:08 raydiak_ just curious...did something weird happen in the rakudo repo?  "On branch nom␤Your branch is ahead of 'origin/nom' by 92 commits."  I didn't commit anything, much less 92 anythings
01:08 hzhou321 joined #perl6
01:13 muraiki_ joined #perl6
01:18 hoelzro ab5tract: happy to be of serivce =)
01:20 hoelzro service, too
01:22 Peter_R raydiak, looks like your repo's come back from the future
01:23 raydiak guess so :)
01:24 hoelzro your kids, Marty!
01:24 hoelzro something has to be done about your kids!
01:25 raydiak hey it's 2015, where's the holographic sharks already?
01:25 kurahaupo joined #perl6
01:25 raydiak .oO( everyone goes on about the flying cars and hoverboard and forgets the holographic sharks )
01:30 Peter_R Don't forget the self lacing shoes
01:30 Peter_R Soon to be a reality I hear
01:33 raydiak heh
01:39 muraiki_ does anyone know if there are any efforts to make subset constraints checked at compile type? I guess that'd essentially be on the way to implementing dependent types, so I imagine that answer is no :)
01:42 masak muraiki_: no.
01:43 masak muraiki_: but I don't really see any reason some "safe" subset (pun not intended) of subset constraints couldn't be checked at compile time, as a friendly bonus on the part of the compiler.
01:43 masak the only thing that it has to be careful about is that the subset check terminates. which can be checked in a fair number of cases without angering the Halting Problem Beast.
01:44 masak ...but (a) it's not done yet, and (b) who knows whether it will be
01:44 muraiki_ masak: thanks!
01:45 masak same thing with enforcing return types. *theoretically*, Perl 6 could warn and say "you're clearly returning a Str here, but you declared you'd return an Int. that'll never work, and so I'm telling you now instead of letting you find out at runtime."
01:45 masak ...but it's not done yet.
01:45 masak I consider those things optional compile-time bonuses on which you should not depend (because they'd likely be implementation-dependent) but which will ultimately save you time because you don't have to rebuild your whole project.
01:47 vendethiel masak: I think the return type one will come a long time before liquid types ;-)
01:50 Peter_R I wish I knew what half the stuff talked about here meant
01:52 vendethiel masak: makes me think about CL's optional types
01:52 vendethiel it's not required in the specs that compiler do it, but most of them will do it anyways
01:52 masak Peter_R: just so you know, I was once in your current place.
01:53 masak Peter_R: it gets better, fast, to the extent you curiously explore the terrain.
01:53 masak Peter_R: half of the confusion is just language barrier. we're pretty specific in our terminology and lingo.
01:54 Peter_R I'm not a complete stranger to compilers and such, but certainly no expert
01:54 masak I remember looking at the backlog of pmurias and ruoso the way a deer looks at approaching car headlights.
01:54 masak that must be many years ago now.
01:54 Peter_R All very interesting to hear anyway :)
01:55 masak when in doubt, ask people to show you stuff on camelia. you'd be surprised how concrete some things can be made ;)
01:55 Peter_R Will do, thanks for the encouragement
01:56 * masak is all about encouragement
01:57 * masak .oO( "We should consider an actual prime." -- "You mean an actual number?" -- "Yes, an actual prime number." -- "All right, take 57." )
01:59 kurahaupo joined #perl6
02:00 BenGoldberg joined #perl6
02:04 masak vendethiel: ooc... "liquid types"?
02:04 vendethiel masak: "ooc"?
02:05 masak "out of curiousity"
02:05 masak curiosity*
02:05 vendethiel masak: would allow to check for "where"s at compile time -- see liquid haskell
02:06 vendethiel that's what I'm interested in in the very very very long term :)
02:07 masak vendethiel: lately I've been hearing like a refrain in my head, but it's still hard to verbalize. something like, if you do TDD and eschew side effects to some degree, your editor/IDE should be able to run circles around your typing, helping you in all manner of ways by abstractly interpreting the code you're writing.
02:07 masak not sure if that makes sense.
02:07 vendethiel it does to every haskell/idris/...-er out there :-)
02:08 fwilson joined #perl6
02:08 masak but let's say you start by writing a test case. an input and an expected output. now the IDE knows what you should have once you're done/happy.
02:08 masak then do that for a couple of tests.
02:08 vendethiel masak: you should try agda or idris, often enough, the compiler can generate implementation for the function :P
02:08 masak ideally, you could get feedback for all the tests at each *keypress* you do in the editor. just nicely tabulated next to your code.
02:09 vendethiel with data Bool = True | False then a "not" function with Bool -> w/e, the ide-slave will generate different implems. for each constructor in the type
02:09 masak vendethiel: I will. thanks for the tip. I sometimes skim some agda/idris docs just to make sure I have a clue what they're about.
02:09 vendethiel (ctrl-c ctrl-l iirc for agda2-mode emacs)
02:10 vendethiel I call that "try by autocompletition" :P. I just type w/e, and try to complete until the compiler finds stuff to put in holes
02:14 virtualsue joined #perl6
02:18 yeahnoob joined #perl6
02:29 BenGoldberg joined #perl6
02:46 * [Coke] finally catches up post-conference.
02:46 [Coke] ~~, sixers.
02:46 chenryn joined #perl6
02:47 ilbot3 joined #perl6
02:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
02:53 hzhou321 I am new to perl6. Does perl6 have method to interface with C like xs?
02:55 masak yes
02:56 hzhou321 Do you have pointer to documentation?
02:57 masak https://github.com/jnthn/zavolaj/
02:57 yqt joined #perl6
02:57 masak 'night, #perl6
02:57 hzhou321 masak: thx.
03:10 japhb masak++ # Advice? Rant? Manifesto?  ... starting at http://irclog.perlgeek.de/p​erl6/2015-01-27#i_10016004 and continuing at http://irclog.perlgeek.de/p​erl6/2015-01-27#i_10016097
03:17 hzhou321 Is there any benchmark between Perl5 and Perl6?
03:18 Peter_R I've seen graphs, they must exist...
03:18 Psyche^ joined #perl6
03:19 Peter_R The cliff notes of the graph were "lists are slow"
03:20 moritz \o/
03:21 moritz itz_: do you have any idea why my old blog posts are showing up as new in the pl6anet feed?
03:25 dalek rakudo/nom: d5c67dc | hoelzro++ | src/ (3 files):
03:25 dalek rakudo/nom: Don't pass capture to invoke/postcircumfix:<( )> when performing Type(...)
03:25 dalek rakudo/nom:
03:25 dalek rakudo/nom: If a user wants to override the behavior of Type(...), they have to know
03:25 dalek rakudo/nom: that the invoke/postcircumfix:<( )> method takes a single argument that
03:25 dalek rakudo/nom: is a Capture, rather than the actual values provided.  This is an
03:25 dalek rakudo/nom: implementation detail, not in the spec, and unintuitive.
03:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d5c67dc328
03:26 dalek roast: d32ba94 | hoelzro++ | S13-overloading/typecasting-long.t:
03:26 dalek roast: Take the full argument list when overriding (...) for Type(...)
03:26 dalek roast: review: https://github.com/perl6/roast/commit/d32ba94eb1
03:27 muraiki_ night p6
03:39 skids hoelzro++ I remebering going WTF over that.
03:40 hoelzro skids: oh, good on me then =)
03:40 hoelzro hopefully others are ok with the change
03:41 kurahaupo joined #perl6
03:43 Mouq joined #perl6
03:47 noganex_ joined #perl6
03:52 vendethiel joined #perl6
04:02 moritz hoelzro: I'm not OK with it missing from ChangeLogs
04:02 moritz s/s$//
04:02 hoelzro moritz: ah, noted
04:02 hoelzro I'll add that
04:04 dalek rakudo/nom: ffc5836 | hoelzro++ | docs/ChangeLog:
04:04 dalek rakudo/nom: Document the change to overriding Type(...)
04:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ffc5836b25
04:04 hoelzro moritz++ # advice
04:07 dalek rakudo/nom: 9f15442 | moritz++ | docs/ChangeLog:
04:07 dalek rakudo/nom: Add more changelog entries
04:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9f1544204a
04:07 moritz hoelzro++ # acting on it :-)
04:08 moritz time to sleep again, now that $smallone also sleeps again
04:09 hoelzro o/ moritz
04:11 Mouq hoelzro: Does that commit break nativecall?
04:12 * Mouq also has to try catching some sleep
04:14 dalek roast/coerce-multi: a22c42c | hoelzro++ | S02-types/COERCE.t:
04:14 dalek roast/coerce-multi: Start implementing tests for COERCE
04:14 dalek roast/coerce-multi: review: https://github.com/perl6/roast/commit/a22c42c39b
04:14 dalek roast/coerce-multi: b717214 | hoelzro++ | S02-types/COERCE.t:
04:14 dalek roast/coerce-multi: Test that Type(...) still calls invoke if present
04:14 dalek roast/coerce-multi: review: https://github.com/perl6/roast/commit/b717214878
04:14 dalek roast/coerce-multi: e142fd0 | hoelzro++ | S02-types/COERCE.t:
04:14 dalek roast/coerce-multi: Test COERCE + subclasses
04:14 dalek roast/coerce-multi: review: https://github.com/perl6/roast/commit/e142fd0ca0
04:14 hoelzro Mouq: eesh, I sure hope not
04:14 * hoelzro tests
04:14 dalek rakudo/coerce-multi: a298d34 | hoelzro++ | src/ (2 files):
04:14 dalek rakudo/coerce-multi: Start on implementation of COERCE
04:14 dalek rakudo/coerce-multi:
04:14 dalek rakudo/coerce-multi: COERCE is a multi that takes a value and a type object; users wishing
04:14 dalek rakudo/coerce-multi: to define special semantics for how a value of a given type is coerced
04:14 dalek rakudo/coerce-multi: to other type may implement the appropriate candidate for COERCE to
04:14 dalek rakudo/coerce-multi: perform that coercion.  The default is call a method of the same name
04:14 dalek rakudo/coerce-multi: as the type object's class on the value.
04:14 dalek rakudo/coerce-multi: review: https://github.com/rakudo/rakudo/commit/a298d34450
04:14 dalek rakudo/coerce-multi: d9460c5 | hoelzro++ | t/spectest.data:
04:14 dalek rakudo/coerce-multi: Use new COERCE test in roast
04:14 dalek rakudo/coerce-multi: review: https://github.com/rakudo/rakudo/commit/d9460c5e89
04:19 japhb hzhou321: Yes, there are p5/p6 benchmarks.  I wrote the framework and the majority of the tests: https://github.com/japhb/perl6-bench .  timotimo++ has published the graphs from some of his perl6-bench runs, but I don't have the URL at hand.
04:20 japhb This is getting to be enough of a channel FAQ that I'm considering adding the github URL to the topic.  I was planning to wait for us to have an arewefastyet clone in place, but that has been slow in appearing.  (And I can't host it myself.)
04:27 hoelzro Mouq was right; that *does* break NativeCall o_O
04:27 hoelzro unfortunately, my NQP fu is not strong enough to fix it
04:34 hoelzro if anyone could help me fix that, I would really appreciate it
04:35 hoelzro if it's a blocker for anyone, feel free to revert my commits and we can chat about how to fix it tomorrow
04:48 sivoais joined #perl6
05:07 chenryn_ joined #perl6
05:10 chenryn_ joined #perl6
05:33 charsbar joined #perl6
05:54 chenryn__ joined #perl6
06:01 chenryn__ joined #perl6
06:05 chenryn__ joined #perl6
06:08 broquaint joined #perl6
06:18 bjz joined #perl6
06:22 dalek zavolaj: 339501e | moritz++ | lib/NativeCall.pm6:
06:22 dalek zavolaj: Fix for latest rakudo
06:22 dalek zavolaj:
06:22 dalek zavolaj: postcircumfix:<( )> now receives a normal argument list, not a single-item capture
06:22 dalek zavolaj: review: https://github.com/jnthn/zavolaj/commit/339501efe9
06:22 moritz hoelzro: ^^ FTFY. No NQP hackery required
06:22 [Sno] joined #perl6
06:34 Khisanth joined #perl6
06:46 bartolin joined #perl6
06:48 bartolin fwiw Parrot builds again and last nights spectest on Parrot was clean
06:48 bartolin lizmat++ moritz++ jnthn++ # bisecting and fixing
07:10 telex joined #perl6
07:10 vendethiel joined #perl6
07:16 rindolf joined #perl6
07:16 kaleem joined #perl6
07:38 * lizmat confirms parrot builds and tests ok again
07:39 lizmat although I'm not quite sure what caused the fix
07:39 kjs_ joined #perl6
07:40 lizmat offline until late&
07:57 TimToady sitting in AMS waiting for our next flight
07:58 Rounin joined #perl6
07:58 chenryn__ joined #perl6
07:59 El_Che TimToady: it's not raining, so that's a good thing :)
08:01 TimToady boarding...
08:06 yeahnoob joined #perl6
08:08 chenryn___ joined #perl6
08:11 FROGGS joined #perl6
08:11 prime joined #perl6
08:13 yeahnoob joined #perl6
08:14 [Sno] joined #perl6
08:15 avuserow joined #perl6
08:15 vendethiel joined #perl6
08:21 darutoko joined #perl6
08:21 xfix joined #perl6
08:33 pdcawley joined #perl6
08:34 moritz joined #perl6
08:35 espadrine joined #perl6
08:40 Kristien joined #perl6
08:40 bjz joined #perl6
08:45 telex joined #perl6
08:57 zakharyas joined #perl6
08:57 brrt joined #perl6
08:58 Kristien How can you make grammars ignore whitespace from the input between tokens?
08:59 Kristien I tried to google this, but all I can find is the difference between the token and rule and sigspace.
08:59 brrt iirc - and i'm not at all a regular perl6 user btw - that's the difference between rules and tokens
09:00 brrt oh
09:00 brrt that's what you said
09:00 Kristien or do I have to put \s* before all of my rules and tokens?
09:01 brrt i'd be surprised if that were the case
09:01 Kristien yeah, me too
09:02 Kristien or perhaps proto token lexeme { \s* * }
09:03 FROGGS m: my rule foo { a b }; say "a    b" ~~ /<foo>/
09:03 camelia rakudo-moar 9f1544: OUTPUT«「a    b」␤ foo => 「a    b」␤»
09:03 FROGGS m: my rule foo { a b }; say "ab" ~~ /<foo>/
09:03 camelia rakudo-moar 9f1544: OUTPUT«Nil␤»
09:03 FROGGS m: my token foo { a b }; say "ab" ~~ /<foo>/
09:03 camelia rakudo-moar 9f1544: OUTPUT«「ab」␤ foo => 「ab」␤»
09:03 FROGGS m: my token foo { a b }; say "a b" ~~ /<foo>/
09:03 camelia rakudo-moar 9f1544: OUTPUT«Nil␤»
09:03 FROGGS Kristien: see?
09:04 FROGGS consider a token a word, and rule about sentences
09:04 Kristien ah I see
09:04 Kristien thanks
09:05 Kristien now it works :D
09:06 andreoss joined #perl6
09:07 JimmyZ FROGGS: https://github.com/MoarVM/dyncall/wiki
09:08 pecastro joined #perl6
09:09 FROGGS JimmyZ++
09:09 FROGGS awesome :o)
09:15 andreoss rakudo.org is 500 now
09:17 fhelmberger joined #perl6
09:20 moritz pmichaud: ^^ rakudo.org gives a 500 internal server error. Could you please investigate?
09:22 mvuets joined #perl6
09:25 abraxxa joined #perl6
09:29 kjs_ joined #perl6
09:35 vendethiel joined #perl6
09:35 espadrine joined #perl6
09:38 timotimo hzhou321: http://t.h8.lv/p6bench/
09:39 Kristien joined #perl6
09:43 dakkar joined #perl6
09:44 kjs_ joined #perl6
09:52 baest joined #perl6
10:02 sirdancealot joined #perl6
10:11 andreoss error: pathspec '2015.01-22-g5a33762' did not match any file(s) known to git.
10:11 andreoss Command failed (status 256): git checkout 2015.01-22-g5a33762
10:11 andreoss
10:12 Kristien why does Grammar.parse return Any on failure?
10:13 Kristien Rather than say Nil or Failure
10:13 moritz it returns Nil, I think
10:13 andreoss Configure.pl tries to checkout MoarVM sources with some tag, but it seems non-existent
10:13 moritz and assigning Nil to a scalar resets the scalar to the default value
10:13 Kristien Oh, I see.
10:15 Kristien Ah right nice.
10:18 nyuszika7h joined #perl6
10:29 andreoss i can't compile parrot backend
10:29 andreoss its failing to link with this error
10:29 andreoss /usr/bin/ld: h_errno: TLS definition in /lib64/libc.so.6 section .tbss mismatches non-TLS definition in /home/local/local/lib/libc.so section .bss
10:29 andreoss
10:29 andreoss why parrot needs TLS?
10:30 FROGGS andreoss: I am forwarding it to #parrot on irc.perl.org
10:30 virtualsue joined #perl6
10:34 andreoss might be something wrong with my localy installed libc, links ok against system one
10:37 masak good mor'n, #perl6
10:39 andreoss /usr/lib/gcc/x86_64-redhat-linux​/4.9.2/../../../../lib64/crt1.o: In function `_start':
10:39 andreoss (.text+0x12): undefined reference to `__libc_csu_fini'
10:39 andreoss
10:40 andreoss FROGGS: may be i should make distclean somewhere?
10:44 vendethiel joined #perl6
10:56 masak japhb: actually, my rant started at http://irclog.perlgeek.de/p​erl6/2015-01-27#i_10015898 and the parts you pointed to were kind of a continuation of that.
11:04 tadzik PLPW 2015 is cooking :}
11:05 El_Che pw.pl?
11:05 brrt joined #perl6
11:05 tadzik Polish Perl Workshop
11:05 chenryn___ joined #perl6
11:05 El_Che nice
11:07 rurban_ joined #perl6
11:08 vendethiel joined #perl6
11:09 masak tadzik: \o/
11:11 chenryn___ joined #perl6
11:12 noganex joined #perl6
11:16 mvuets joined #perl6
11:17 Kristien joined #perl6
11:19 Kristien I wrote my first parser written in Perl 6!
11:19 moritz \o/
11:55 chenryn____ joined #perl6
11:57 Kristien joined #perl6
11:58 Kristien I'm writing a tool to generate data structures in various languages and serialization/deserialization code
12:02 kjs_ joined #perl6
12:04 Kristien joined #perl6
12:05 vendethiel seems like something ingy would love :)
12:07 rindolf joined #perl6
12:09 Kristien currently looks like this: https://gist.github.com/rig​htfold/9296916eb5f32c6580d6
12:10 vendethiel "grammar Grammar" always make me feel uneasy
12:11 Kristien not me :D
12:12 FROGGS m: grammar Grammar { }; say Grammar.WHAT
12:12 camelia rakudo-moar 9f1544: OUTPUT«(Grammar)␤»
12:13 FROGGS andreoss: did you just pull and rebuild? perhaps you can remove your install directory
12:21 brrt joined #perl6
12:23 andreoss FROGGS: yes, i've already removed it, parrot still fails to link
12:28 pmurias joined #perl6
12:32 hoelzro moritz: thanks for fixing that; I didn't think about just grabbing the whole Capture!
12:32 moritz hoelzro: you're welcome
12:32 chenryn____ joined #perl6
12:33 moritz with the right idea, it was trivial. Otherwise it might have been quite nasty
12:38 rmgk_ joined #perl6
12:40 dalek nqp-js: c46c987 | (Pawel Murias)++ | src/vm/js/bin/run_tests:
12:40 dalek nqp-js: Add passing test 64 to run_tests.
12:40 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/c46c987f67
12:40 dalek nqp-js: 3cca062 | (Pawel Murias)++ | t/nqp/59-nqpop.t:
12:40 dalek nqp-js: Add a test for nqp::isnull_s/nqp::null_s.
12:40 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/3cca062cab
12:40 dalek nqp-js: 6b6a8f1 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
12:40 dalek nqp-js: Implement nqp::isnull_s/nqp::null.
12:40 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/6b6a8f1db1
12:50 pmurias what would be a good way to test nqp::time_n(), nqp::time_i()?
12:53 Kristien m: say('a') ==> say()
12:53 camelia rakudo-moar 9f1544: OUTPUT«a␤True␤»
12:53 moritz pmurias: you can call time_n() several times, and test that the results are increasing
12:54 moritz pmurias: and you can sleep (if you have implemented that), and test that the time difference is larger or equal the sleep time
12:54 jnthn Please don't write tests that sleep.
12:54 yoleaux 27 Jan 2015 21:27Z <moritz> jnthn: bisecting of nqp tells me that your commit 98c0b61f8b5fee6e383b6ee03070139ebf04106f "Add parametricity bits to STable." causes the rakudo-parrot core compilation segfault
12:55 jnthn That already makes spectest horribly slow for me during S17...
12:56 jnthn moritz: Yes,  matches with https://github.com/rakudo/rakudo/commit/​340b7a79e335b605a38dd73bae674d55d1c077e4 having fixed it :)
12:56 pmurias and the other question is how accurate is time_n supposed to be?
12:57 pmurias is one millisecond resolution enough?
12:57 moritz pmurias: on the femtosecond level, please
12:57 moritz :-)
12:57 moritz pmurias: there's no spec on how accurate it must be
12:57 Kristien millenia
12:57 Kristien the function will be fast as hell
12:58 Kristien nobody runs Perl 6 code anymore in 3001
12:58 moritz Kristien: the maintainers in 986 years will resurrect you for that statement, just to be able to torture you to death again :-)
12:59 dalek nqp-js: ab9ea8b | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
12:59 dalek nqp-js: Implement nqp::time_n()/nqp::time_i().
12:59 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/ab9ea8b3ab
12:59 Kristien not me
12:59 Kristien I won't implement it!
12:59 moritz pmurias: I'd just go with millisecond resolution for now, and if somebody complains, you can still try to improve on it later
12:59 moritz but until them, YAGNI applies
13:03 btyler joined #perl6
13:04 vendethiel .oO( si-defects )
13:05 dalek nqp-js: 4dc5253 | (Pawel Murias)++ | t/nqp/59-nqpop.t:
13:05 dalek nqp-js: Add some weak tests for nqp::time_i/nqp::time_n.
13:05 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/4dc52535e9
13:07 Kristien vendethiel: :O
13:07 Kristien I think I should write my compiler in Perl 6.
13:07 Kristien Instead of in JavaScript.
13:08 vendethiel "put the javascript down, we can help you"
13:08 Kristien Though I don't think there's an escodegen-like library for Perl 6. :v
13:08 Kristien There is Rhino, though.
13:09 pmurias Kristien: what are you compiling?
13:09 vendethiel pmurias: lasagnas :P
13:10 Kristien language I'm working on
13:10 pmurias any description of that?
13:11 Kristien The language is like Eiffel and Scala and the compiler generates ECMAScript 5 code.
13:12 Kristien Or rather, is to generate ECMAScript 5 code.
13:13 pmurias is it a lightweight layer on javascript like coffescript or something more removed like nqp-js/rakudo-js?
13:13 vendethiel less lightweight
13:13 vendethiel it changes semantics, big time
13:14 Kristien Much less lightweight.
13:14 Kristien and much more strict
13:15 pmurias is the code/description somewhere?
13:15 Kristien vaguely: https://github.com/rightfold/lasagnascript
13:15 Kristien but the compiler is junk currently; I'm rewriting it asap
13:22 Kristien I want to use an SSA intermediate representation since that's much more flexible than directly converting the AST to an ECMAScript AST
13:26 pmurias in nqp-js I'm using a "chunks" abstraction, Chunk.new($type, $sideeffect_free_js_expression, @array_of_js_statements_as_strings_or_c​hunks_needed_to_make_expression_valid)
13:26 Kristien and I want to focus less on ES interop and more on sanity
13:26 Kristien pmurias: my current compiler has two functions: one to generate statmeents and one to generate an expression
13:26 Kristien which one is used depends on context
13:27 Kristien if something can only be compiled to a statement and an expression is expected, it's put in an IIFE
13:27 Kristien (e.g. throw and switch)
13:27 pmurias IIFE?
13:27 Kristien immiediately-invoked function expression
13:27 Kristien you can use that to turn statements into expressions
13:27 vendethiel *sometimes*
13:27 yqt joined #perl6
13:27 Kristien You can't do it for return statements obviously.
13:27 vendethiel that'll work with throw (somehow), but will completly fail with break/return
13:28 vendethiel and also, generators
13:28 Kristien Good thing LasagnaScript has neither return statements nor generators.
13:28 vendethiel well, compiling with "yield* IIFE" *should* work
13:30 Kristien I've never written a return statement in Perl :P
13:30 pmurias re sanity vs transprency, IMHO not having fully transparent interop is a serious barrier
13:32 Kristien I still have to design the whole interop stuff
13:34 pmurias we won't be able to have fully transparent interop in nqp-js/rakudo-js to the degree coffescript because the language is too far removed from javascript
13:35 Kristien how does nqp-js do stuff like Int?
13:35 pmurias what do you mean by that?
13:35 Kristien well rather, uint32
13:36 Kristien e.g. integer arithmetic and overflow stuff
13:36 Kristien JS has only floats so you have to use bitwise operations on integers
13:36 pmurias that's what I use
13:36 Kristien nice
13:37 pmurias I currently have int32 only
13:37 pmurias nqp doesn't expose uint32
13:37 Kristien OK
13:37 dalek specs/coerce-multi: b994904 | hoelzro++ | S13-overloading.pod:
13:37 dalek specs/coerce-multi: Document COERCE
13:37 dalek specs/coerce-multi: review: https://github.com/perl6/specs/commit/b994904557
13:37 pmurias having 64bit integers is a harder problem
13:37 sqirrel joined #perl6
13:37 hoelzro ok, I have implementation, tests, and specs for COERCE in the coerce-multi branch on the various repos
13:38 hoelzro what's the next step to getting this accepted/rejected into the current spec?
13:39 pmurias Kristien: the exact code for something like adding two integers is http://pastie.org/9868250
13:40 DieGraueEminenz joined #perl6
13:41 Kristien m: my uint $x = 0; $x = $x - 1; say $x
13:41 camelia rakudo-moar 9f1544: OUTPUT«-1␤»
13:41 vendethiel obviously...
13:41 Kristien :V
13:43 brrt joined #perl6
13:43 pmurias bbl& # job interview for what I fear might be a php job :(
13:43 Kristien PHP is nice.
13:44 vendethiel :(
13:47 brrt Kristien - that's one of those things you're going to find a lot of people disagreeing with
13:47 brrt :-P
13:47 Kristien What is?
13:47 brrt php's niceness
13:47 Kristien Oh :P
13:47 Kristien I wish I were competent enough to implement a static type system.
13:48 brrt php is effective, *if* your program is a CGI-style form-to-database CRUD
13:48 brrt otherwise, it's horrible
14:01 dayangkun joined #perl6
14:02 nwc10 pmurias: I'm curious - where in the world are you?
14:02 nwc10 (To be clear, I'm not hiring, nor am I asking "for a friend")
14:02 nwc10 [and this is not because I have no friends :-)]
14:04 salv0 joined #perl6
14:06 Kristien joined #perl6
14:08 brrt how many qualifications do you need for a question :-)
14:08 brrt anyway, last year the perl devroom was quite full
14:09 _4d47 joined #perl6
14:09 moritz nwc10: where on the planet are you that you're *not* hiring? :-)
14:12 hzhou321 Kristien: instead of using bitwise operations, what's wrong with converting to integer back and forth?
14:12 nwc10 moritz: we *were* hiring. But the new sysadmin starts on Monday
14:12 nwc10 and also, there's no space for any more warm bodies
14:12 rindolf joined #perl6
14:16 darutoko- joined #perl6
14:19 Kristien hzhou321: there are no integers.
14:19 hzhou321 Kristien: I thought you were implementing integer types in Javascript
14:25 kaleem joined #perl6
14:26 andreoss how do i add a new bench case in perl6-bench? I see there're 67 benches, i found some of them in ./perl5 and ./perl6, but not all of them.
14:28 Sqirrel_ joined #perl6
14:30 raiph joined #perl6
14:34 timotimo andreoss: there are many more in microbenchmarks.pl
14:39 andreoss thanks
14:40 andreoss timotimo: if I need to generate some auxiliary input where I place it
14:41 moritz andreoss: can't you put into a heredoc?
14:43 Kristien I'm part of a conspiracy that denies the existence of heredocs.
14:43 andreoss moritz: i guess it wouldn't scale this way. I would have to generate random ints within bench case, it may affect results.
14:43 moritz andreoss: but you assume that reading from disc is faster than generating random ints?
14:44 lestrrat joined #perl6
14:48 andreoss % seq 1 100000 | time perl -ne  ''
14:48 andreoss 0.02user 0.00system 0:00.02elapsed 87%CPU (0avgtext+0avgdata 3948maxresident)k
14:48 andreoss 0inputs+0outputs (0major+174minor)pagefaults 0swaps
14:48 andreoss '~/src/perl6-bench'  (master % u=)
14:48 andreoss % seq 1 100000 | time perl6 -ne  ''
14:48 andreoss 15.73user 0.22system 0:17.28elapsed 92%CPU (0avgtext+0avgdata 196208maxresident)k
14:48 andreoss 39896inputs+0outputs (159major+44841minor)pagefaults 0swaps
14:48 andreoss
14:49 andreoss moritz: i guess it should be a separated benchmark case
14:51 moritz andreoss: aye
14:51 moritz andreoss: the you should add -CS to the perl 5 benchmark
14:52 moritz andreoss: because Perl 6 also decodes the UTF-8, which the perl 5 doesn't do as-is
14:53 Kristien m: my uint8 $x = 255; $x += 1; say $x;
14:53 camelia rakudo-moar 9f1544: OUTPUT«256␤»
14:54 andreoss moritz: what's -CS?
14:54 Kristien m: my uint32 $x = 2**32-1; $x += 1; say $x;
14:54 camelia rakudo-moar 9f1544: OUTPUT«4294967296␤»
14:55 andreoss % seq 1 100000 | time perl -Mopen=":std,:encoding(utf-8)" -ne  'utf8::decode $_'
14:55 andreoss 0.07user 0.00system 0:00.08elapsed 85%CPU (0avgtext+0avgdata 5600maxresident)k
14:55 andreoss
15:06 lestrrat joined #perl6
15:07 kaleem joined #perl6
15:07 molaf joined #perl6
15:11 Woodi joined #perl6
15:13 sqirrel joined #perl6
15:16 gfldex joined #perl6
15:21 lestrrat joined #perl6
15:25 rjbs- So, what's going on on FOSDEM Friday? :)
15:26 tadzik slide hacking... :P
15:27 fwilson joined #perl6
15:28 lestrrat joined #perl6
15:29 kaleem joined #perl6
15:31 moritz wouldn't the conference be more fun if you did the slide hacking before? :-)
15:31 El_Che rjbs-: there is a drink
15:31 kurahaupo joined #perl6
15:31 tadzik moritz: I wouldn't know :P
15:32 Kristien joined #perl6
15:33 rjbs joined #perl6
15:37 FROGGS andreoss: does that cover your bug? https://github.com/parrot/parrot/iss​ues?q=milestone%3A7.0.2+is%3Aclosed
15:44 lestrrat joined #perl6
15:48 mr-foobar joined #perl6
15:58 telex joined #perl6
15:59 lestrrat joined #perl6
16:04 andreoss FROGGS: i have a simple script for building rakudo on cron, i found out today that it doesn't work anymore. As i see Configure.pl trying to get sources from git repositories with wrong tags. So I can't build master anymore. The attempt to build the latest release ends with linkage errors.
16:05 andreoss may be i'm doing something wrong
16:07 PerlJam "build master"? You mean "nom", right?
16:08 FROGGS andreoss: can you gist your build commands?
16:09 andreoss_ joined #perl6
16:10 sqirrel__ joined #perl6
16:13 Mouq joined #perl6
16:13 AndChat-458964 joined #perl6
16:13 andreoss_ PerlJam: what branch comes from just cloning repo?
16:14 dalek nqp: 3766c15 | Mouq++ | Configure.pl:
16:14 dalek nqp: Correct --git-reference doc, mj41++
16:14 dalek nqp: review: https://github.com/perl6/nqp/commit/3766c15dee
16:14 dalek rakudo/nom: 21265fc | Mouq++ | Configure.pl:
16:14 dalek rakudo/nom: Correct --git-reference doc, mj41++
16:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/21265fc9d2
16:18 PerlJam andreoss_: pretty sure you get nom by default.
16:19 PerlJam (unless the universe has shifted and I didn't notice :)
16:22 raiph joined #perl6
16:25 lestrrat joined #perl6
16:28 masak you get nom by default.
16:28 sqirrel__ joined #perl6
16:29 spider-mario joined #perl6
16:32 profan joined #perl6
16:35 Mouq What's buggy about RT #68572 ?
16:35 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=68572
16:35 Mouq m: role A { class B {} }
16:35 camelia rakudo-moar 9f1544: ( no output )
16:36 Mouq 'class' is lexically scoped to A. I could see a role that uses a local class internally in one of its methods... and I don't really see why we should forbid a user from being able to do so
16:37 lestrrat joined #perl6
16:38 PerlJam Mouq: S12:106
16:38 synopsebot Link: http://perlcabal.org/syn/S12.html#line_106
16:39 Mouq Oh! Idk why I thought class was automatically my. PerlJam++
16:39 PerlJam Mouq: probably because P6 leans heavily on lexicals :)
16:40 Mouq True :)
16:43 raydiak good morning #perl6 o/
16:44 hoelzro o/ raydiak
16:45 raydiak hi hoelzro how goes it?
16:47 [Sno] joined #perl6
16:48 japhb .ask andreoss Do you still need help creating your perl6-bench test?
16:48 yoleaux japhb: I'll pass your message to andreoss.
16:49 hoelzro it's going alright; how about yourself?
16:49 dalek rakudo/nom: 358d1d9 | Mouq++ | src/Perl6/Grammar.nqp:
16:49 dalek rakudo/nom: [Pod] Allow indented code blocks to contain blank lines, moritz++
16:49 dalek rakudo/nom:
16:49 dalek rakudo/nom: Previously, this code would produce two code blocks, where one was
16:49 dalek rakudo/nom: preferred:
16:49 dalek rakudo/nom:
16:49 dalek rakudo/nom:     =begin pod
16:49 dalek rakudo/nom:     Here's our Foo role:
16:49 dalek rakudo/nom:
16:50 dalek rakudo/nom:         role Foo {
16:50 dalek rakudo/nom:             has $.bar;
16:50 dalek rakudo/nom:
16:50 dalek rakudo/nom:             method baz { ... }
16:50 dalek rakudo/nom:         }
16:50 dalek rakudo/nom:     =end pod
16:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/358d1d9951
16:50 dalek roast: 88d0e1e | Mouq++ | S26-documentation/04-code.t:
16:50 dalek roast: Add test that indented code blocks span blank lines
16:50 dalek roast: review: https://github.com/perl6/roast/commit/88d0e1e31b
16:52 raydiak I'm currently treading water somewhere between "not bad" and "pretty good" :)
16:53 Sqirrel joined #perl6
16:53 tadzik hmm. If I do 'my $b = 5', $b is a Scalar. How do I get to that Scalar?
16:54 raydiak is that what VAR does?
16:54 raydiak m: my $b = 5; say $b.VAR
16:54 camelia rakudo-moar 9f1544: OUTPUT«5␤»
16:54 tadzik indeed
16:54 raydiak m: my $b = 5; say VAR($b).WHAT
16:54 camelia rakudo-moar 9f1544: OUTPUT«(Scalar)␤»
16:54 tadzik $b.VAR.WHAT.say... exactly :)
16:54 tadzik thanks raydiak
16:55 raydiak yw :)
16:55 pmurias nwc10: Poland, Wrocław, don't have strong ties to that place that would keep me from relocating
16:57 nwc10 pmurias: ah OK (thanks for the answer, and happening to answer when I was looking at the channel)
16:57 _4d47 is there a way to get a class method reference like for &subs ?
16:58 PerlJam _4d47: it's just a subroutine reference as always.
16:59 go|dfish joined #perl6
16:59 kjs_ joined #perl6
17:02 raydiak _4d47: you're probably looking for one of .^can, .^lookup, or .^find_method...someone else here probably knows which you should use when :)
17:03 raydiak m: class Foo { method bar () {} }; say Foo.^lookup('bar').perl
17:03 camelia rakudo-moar 9f1544: OUTPUT«method bar (Foo $: *%_) { #`(Method|73166136) ... }␤»
17:06 _4d47 PerlJam: dont know how, eg `class A { meth d m { ...} }` raydiak: aah thx :) was trying things like Foo::&bar
17:06 Kristien joined #perl6
17:06 Kristien hi
17:07 gfldex m: class A { our method m1(){} }; my $o = A.new(); say (&A::m1).WHAT;
17:07 camelia rakudo-moar 9f1544: OUTPUT«(Method)␤»
17:07 raydiak _4d47: np :) that will still work if you use "our method"
17:07 raydiak gfldex++
17:08 lestrrat joined #perl6
17:09 gfldex m: class A { our method m1(){ say 'oi!' } }; my $o = A.new(); say (&A::m1)($o:);
17:09 camelia rakudo-moar 9f1544: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤  in method m1 at /tmp/cNLgvRY2C4:1␤  in block <unit> at /tmp/cNLgvRY2C4:1␤␤»
17:10 gfldex m: class A { our method m1(){ say 'oi!' } }; my $o = A.new(); (&A::m1)($o:);
17:10 camelia rakudo-moar 9f1544: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/eGQcBU5o2p�Invocant colon not allowed here�at /tmp/eGQcBU5o2p:1�------> [32m'oi!' } }; my $o = A.new(); (&A::m1)($o:[33m�[31m);[0m�»
17:10 raydiak m: class A { our method m1(){ say 'oi!' } }; my $o = A.new(); (&A::m1)($o);
17:10 camelia rakudo-moar 9f1544: OUTPUT«oi!␤»
17:14 [Tux] joined #perl6
17:17 raydiak so last night I wrote a crude PNG output module in < 100 lines...while I'd like to extend it to be full-featured, it's easlily possible that it will be superseded by someones libpng wrapper or something before that happens
17:17 raydiak what to name it?
17:21 japhb Have we gotten a ::PP naming convention in the Perl 6 world yet?
17:21 raydiak not that I've noticed, but it occured to me
17:21 japhb And is it output only?
17:22 raydiak for now
17:22 Kristien raydiak: call it PN6
17:22 japhb Oh dear.
17:22 raydiak heh :)
17:23 japhb Image::PNG::PP?
17:23 japhb or Image::PNG::Writer::PP?
17:23 raydiak it does rely on Compress::Zlib, though
17:23 japhb Maybe just Image::PNG::Writer then
17:24 japhb And let someone else have Image::PNG::libpng
17:24 raydiak admittedly the main goal was to make it portable, though idk to what extent it currently is w/the zlib bits
17:25 japhb I guess the p5 version actually capitalizes the L
17:25 japhb zlib is really, really portable.  Whether our binding to that is as portable is another question.
17:25 Rounin joined #perl6
17:26 raydiak and the problem w/the ::Writer is that I may very well extend it for reading too, it's just not there yet...it's like trying to name a kid before s/he has developed a personality :P
17:27 lestrrat joined #perl6
17:28 raydiak but taking over "Image::PNG" with some 90-something lines I hacked together in the middle of the night and have a less-than-full commitment to pursuing seems wrong too, of course
17:28 japhb It's not like you can't fork your own project, or make a new one from the bones of the old.
17:31 raydiak true
17:33 raydiak how does Image::PNG::Portable sound? non-commital, but at least conveys the intent
17:38 perl6_newbe joined #perl6
17:38 perl6_newbe Hi guys.
17:38 raydiak hello perl6_newbe
17:39 lestrrat joined #perl6
17:39 perl6_newbe I was looking for help to move a file with perl6. But did not find any docu. IO::Path did not provide move. How can I move a file?
17:39 jdv79 is there a profiler like NYTProf yet?
17:40 Mouq perl6_newbe: Try rename?
17:41 raydiak perl6_newbe: http://design.perl6.org/S32/IO.html might help
17:42 Mouq raydiak: It looks like move() is NYI, however
17:42 Mouq Or .move or whatever
17:42 raydiak ah...then copy and unlink?
17:43 raydiak if rename fails, I mean
17:43 jdv79 not automagically if that's what you mean
17:43 jdv79 rename/move is atomic
17:44 raydiak no, I meant as a workaround
17:44 Mouq m: nqp::move
17:44 camelia rakudo-moar 358d1d: OUTPUT«===SORRY!===␤No registered operation handler for 'move'␤»
17:45 perl6_newbe OK thx. I want to move the file to a new location, so renaming is not what I want
17:45 jdv79 that's one peeve i have with File::Copy::move in p5 land - it just falls back without option iirc
17:45 perl6_newbe Try copy and unlink
17:45 japhb jdv79: Moar has a profiler.  It's not as good as NYTProf yet, but it's a decent start.  It's currently a bit hobbled by the design of list processing in Rakudo ... but that's due to be replaced in the GLR.
17:45 raydiak oh and there is perl6 --profile, which will spit out a pretty html file, but will bring your browser to its knees on large outputs
17:45 raydiak wow I'm like 10 seconds behind everyone today :)
17:45 jdv79 so 2 options but nothing great yet
17:46 jdv79 i'll have to make a note to test those out soon, thanks.
17:46 raydiak --profile is the one japhb++ was talking about too
17:47 raydiak for moar it does html, under parrot it gives some other format I can't remember...don't think we have jvm profiler at all
17:48 japhb People who teach systems design (jnthn, masak, I'm looking at you two especially): One of my coworkers was asking for good books on system architecture and design.  I have spent more time studying subsystems than overall architecture during this millenium.  What books would you recommend?
17:53 Kristien something from the previous millenium, when things were still sane
17:56 perl6_newbe Great. Copy and Unlink worked like a charm. Not so comfortable like a move method, but it does what it should. THX @ all
18:00 raydiak you're welcome perl6_newbe...good luck!
18:02 Mouq perl6_newbe: \o/ I'll file a bug report for missing .move method if one isn't already in
18:03 [Sno] joined #perl6
18:04 dalek rakudo/nom: 5275eb9 | Mouq++ | src/core/array_slice.pm:
18:04 dalek rakudo/nom: Fix @a[0;0] autoviv
18:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5275eb90c1
18:05 lestrrat joined #perl6
18:06 skids Wait, we have multidim now?  When did that happen?
18:06 moritz skids: gradually. And we only have it partially right now
18:07 Mouq skids: We don't have multidim, but we have multidim access :P
18:07 raydiak m: my @a; @a[0;0] = 1; @a.perl.say
18:07 camelia rakudo-moar 358d1d: OUTPUT«Array.new()␤»
18:07 skids Hah.  OK.
18:07 raydiak m: my @a = [^3],[^3]; @a[0;0] = 1; @a.perl.say
18:07 camelia rakudo-moar 358d1d: OUTPUT«Array.new([1, 1, 2], [0, 1, 2])␤»
18:13 dalek rakudo/nom: 166cd3c | Mouq++ | src/core/hash_slice.pm:
18:13 dalek rakudo/nom: Fix %h{<foo>;<bar>} autoviv while we're at it :P
18:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/166cd3c5ed
18:14 araujo joined #perl6
18:14 lestrrat joined #perl6
18:16 jdv79 i could write a book about how not to do systems design based on my $work experiences.  could call it the Edison approach.
18:18 perl6_newbe THX Mouq. I guess move is mentioned in the spec IO
18:19 perl6_newbe S32::IO. However, would be great as feature request ^^
18:19 Kristien I'm going to write my compiler in Perl 6!
18:20 moritz _Ù'A
18:20 moritz *'
18:20 dalek roast: d3e4994 | Mouq++ | S09-autovivification/autovivification.t:
18:20 dalek roast: Test for autovivification on multidim access
18:20 dalek roast: review: https://github.com/perl6/roast/commit/d3e499451e
18:21 Mso150 joined #perl6
18:21 beastd joined #perl6
18:21 Mouq Kristien: :D Perl 6 grammars rock
18:21 Kristien yeah
18:22 moritz sorry, small one captured the keyboard
18:23 raydiak that one just can't wait to be old enough to hang out in #perl6, eh? :)
18:23 moritz seems like :-)
18:24 raydiak .oO( can't even type and already practicing Whatever stars and balanced quoting )
18:24 lestrrat joined #perl6
18:27 raydiak do we have an easy way to turn a (non-negative) integer into a list of bytes? e.g. 511 would become (1,255)
18:27 moritz pack?
18:28 vendethiel wow, niecza's core.setting is... confusing
18:30 raydiak moritz: looking at pack now, but I haven't tried it in P6...have you?  I heard it's largely unimplemented
18:30 skids m: buf8.new(511 X+> (8,0)).elems.say
18:30 camelia rakudo-moar 358d1d: OUTPUT«2␤»
18:30 moritz raydiak: I've patched several bugs in unpack while trying to document it
18:31 skids m: buf8.new(511 X+> (8,0)).values.say
18:31 camelia rakudo-moar 358d1d: OUTPUT«1 255␤»
18:31 moritz raydiak: but that one case might actually be implemented :-)
18:31 raydiak ah, true enough...thanks :)  I'll give it a shot
18:33 lestrrat joined #perl6
18:37 Mouq m: pack("n", 511).values.say
18:37 camelia rakudo-moar 5275eb: OUTPUT«1 255␤»
18:40 rurban_ joined #perl6
18:41 Sqirrel joined #perl6
18:41 raydiak thanks Mouq :)
18:42 raydiak and somehow I overlooked skids++ answer, which is clever b/c somehow I never thought to use X or Z w/bitops
18:45 abraxxa joined #perl6
18:46 * raydiak notices pack missing from http://doc.perl6.org/type/Str
18:46 dwarring joined #perl6
18:48 * Mouq would probably have it be alonside unpack in http://doc.perl6.org/type/Buf
18:48 Mouq Err
18:49 Mouq * http://doc.perl6.org/type/Blob ?
18:50 * Mouq doesn't admit to understanding the Buf/Blob mess
18:52 masak raydiak: maybe submit a github issue?
18:54 masak hm, there's a `pack` sub in the setting, but no `pack` method?
18:59 kjs_ joined #perl6
19:00 Mouq joined #perl6
19:01 Mouq masak: Already a GH issue :P
19:03 brrt joined #perl6
19:03 FROGGS joined #perl6
19:04 dalek roast: 6e074b0 | (David Warring david.warring@gmail.com)++ | integration/weird-errors.t:
19:04 dalek roast: added test for RT #123686 multi sub with where clause + temp stress
19:04 dalek roast:
19:04 dalek roast: Fudged on rakudo.moar
19:04 dalek roast: review: https://github.com/perl6/roast/commit/6e074b0d3d
19:04 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=123686
19:05 abraxxa joined #perl6
19:05 lestrrat joined #perl6
19:17 skids Buf/Blob is not much of a mess anymore, IMO.
19:19 lsm-desktop joined #perl6
19:19 bronco_creek joined #perl6
19:20 bronco_creek o/ p6
19:20 masak \o
19:21 bronco_creek Is there a union operator for SetHash objects?
19:21 bronco_creek I see operators for membership, intersection, and xor, but not union.
19:32 raydiak does ∪ do what you want? or maybe SetHash.new(|%a, |%b) ?
19:42 lestrrat joined #perl6
19:44 bronco_creek raydak: Thanks,  I didn't see u documented, but I'll give it a try.
19:45 bronco_creek raydiak: BTW, how do you type unicode chars?
19:45 jercos with a unicode keyboard :p
19:45 jercos (it depends on your OS, and sometimes what character you want to type)
19:45 bronco_creek Might not be compatible with my monocode fingers...
19:46 jercos For example on *nix inside GNU screen I can hit ^a^v>> to go »
19:46 jercos to get* rather
19:47 bronco_creek jercos: Thanks,  I'll try than at home on my ubuntu system.
19:48 raydiak bronco_creek: atm I'm using IBus, but for most things like «» the compose key (whatever that means in your OS) works fine
19:48 jercos :) I think in most modern DEs you can press control-shift-u, then type the hex codepoint of a unicode character and insert it, for the really weird ones.
19:48 jercos ☃ for example
19:48 jercos (there's no man like a snowman)
19:49 go|dfish joined #perl6
19:49 raydiak also if you use vim, you can get a long way on just ^K and :digraphs
19:49 skids .oO(class Proxy has eluded documentation.)
19:49 gfldex i just googled "unicode keyboard" came to the conclusion that Perl 6 will create a sizeable market gap
19:49 gfldex is there anything Perl 6 cant do? :->
19:50 jercos time to revive the space cadet :p
19:50 bronco_creek jercos: Snowman is just the thing for the US Northeast, about now.  Here in CO it is sunny and dry.
19:50 timotimo it seems like rakudo-moarvm is extremely slow at deep_scan_for_interpolated_string_var
19:50 jercos ☂ ☁ ☀
19:50 timotimo 247.0x slower than rakudo-jvm; rakudo-parrot on the other hand is only 5x slower than rakudo-jvm
19:51 jercos http://world.std.com/~jdos​tale/kbd/SpaceCadet3.jpeg <-- all of these are used for something in p6, right? :p
19:51 timotimo loop_empty_native is about 10x slower than rakudo-jvm
19:52 raydiak jercos: no no only like half of them, we leave the other half for you to define with sub infix:<>
19:53 jercos haha, fair enough
19:53 raydiak :)
19:55 Kristien joined #perl6
19:55 bronco_creek So, (|) works as the union operator for the unicode-impaired, but someone might like to add it to the Perl 6 Documentation page for class SetHash.
20:01 moritz bronco_creek: you could be that person
20:01 moritz bronco_creek: if you tell my your github ID, I'll give you direct access
20:01 PerlJam moritz++
20:04 bronco_creek moritz:  I'm not a git user, but am willing to create an account.  Documentation is the one area where I have the skills to make a useful contribution to P6.
20:04 lizmat bronco_creek: to make a list of set operators and their texas equivalents, you might want to look at the source of src/core/set_operators.pm
20:05 bronco_creek lizmat: Thanks.
20:05 moritz bronco_creek: I'll help you if I can
20:06 xfix joined #perl6
20:06 skids m: my $a = Proxy.new( FETCH => { "FETCH".say }, STORE => { "STORE".say } );
20:06 camelia rakudo-moar 166cd3: OUTPUT«FETCH␤»
20:06 skids m: my $a := Proxy.new( FETCH => { "FETCH".say }, STORE => { "STORE".say } );
20:06 camelia rakudo-moar 166cd3: OUTPUT«FETCH␤FETCH␤»
20:07 * skids scratches head
20:11 moritz skids: one of them will be for evaluating the last statement in sink context
20:11 moritz in fact, both
20:11 moritz it does a .can('sink')
20:11 lizmat m: my $a = Proxy.new( FETCH => { "FETCH".say }, STORE => { "STORE".say } ); 1
20:11 camelia rakudo-moar 166cd3: OUTPUT«FETCH␤»
20:11 lizmat m: my $a := Proxy.new( FETCH => { "FETCH".say }, STORE => { "STORE".say } ); 1
20:11 camelia rakudo-moar 166cd3: ( no output )
20:11 moritz oh, and one for the type check, presumably
20:11 moritz at least for assignment
20:12 masak we should totally have a FAQ page somewhere called "how do you type Unicode characters?"
20:12 moritz masak: write it! https://github.com/perl6/faq/
20:13 lizmat if I know the name, I frequently use .u NAME on yoleaux and copy/paste  :-)
20:13 lizmat .u SNOWMAN
20:13 yoleaux U+2603 SNOWMAN [So] (☃)
20:13 moritz lizmat: there's also 'cpanm App::Uni' :-)
20:13 masak moritz: I can already see that my focus currently is too fragile and distractable right now to actually write such a page.
20:14 * PerlJam still doesn't know how to type the unicode "newline" character on his keyboard
20:14 masak but I was hoping I could trigger a #perl6 discussion on it :)
20:14 masak I use `uni` (App::Uni) a lot, like moritz++ said.
20:14 bronco_creek moritz: I've created a github account with username bronco-creek (note the dash - not the underscore)
20:15 raiph joined #perl6
20:15 moritz bronco_creek: invitation sent. You should get an e-mail with a link that allows you to join the organization
20:15 moritz bronco_creek: https://github.com/perl6/doc/ is where all the fun is
20:15 raydiak I like ibus w/the latex method...covers mostly everything I use that can't easily be typed some other way, and way easier to remember some things (for me)
20:16 * moritz usually relies on vim digraphs
20:16 masak when I used Emacs more frequently, I used LEIM, which is great.
20:16 PerlJam moritz: me too
20:16 masak and then there's vim's ^K, yes.
20:16 masak maybe irssi macros can produce Unicode characters. probably.
20:16 bronco_creek moritz: Thanks. I'll check in here if/when I make any changes.  Or maybe there is some automated notification?
20:17 moritz bronco_creek: we get commit messages reported by a bot here
20:17 moritz bronco_creek: and github also has notifications
20:17 bronco_creek moritz: OK.  Good to know.
20:20 dalek doc: e68289c | moritz++ | TODO:
20:20 dalek doc: remove done items from TODO file
20:20 dalek doc: review: https://github.com/perl6/doc/commit/e68289c1c2
20:20 moritz bronco_creek: like this: ^^
20:22 dalek Heuristic branch merge: pushed 18 commits to rakudo/newio by lizmat
20:23 bronco_creek moritz:  I see.  Wasn't sure whether dalek reported just code changes or docs as well.
20:23 moritz bronco_creek: dalek just reports changes in git, and we have our docs in git
20:24 [Sno] joined #perl6
20:24 lizmat .tell Mouq re your [0;0] autoviv patches: didn't you lose all adverb handling on there by accident?
20:24 yoleaux lizmat: I'll pass your message to Mouq.
20:24 skids m: my $d = buf8.new(255,2); my $e := subbuf-rw($d,0,1); $e = buf8.new(4); $d.perl.say; $e.perl.say; # \o/
20:24 camelia rakudo-moar 166cd3: OUTPUT«Buf[uint8].new(4, 2)␤Buf[uint8].new(255)␤»
20:24 skids m: my $d = buf8.new(255,2); my $e := subbuf-rw($d,0,1); $e[0] = 4; $d.perl.say; $e.perl.say; # /o\
20:24 camelia rakudo-moar 166cd3: OUTPUT«Buf[uint8].new(255, 2)␤Buf[uint8].new(4)␤»
20:33 andreoss joined #perl6
20:34 pmurias masak: what editor do you use now?
20:35 vendethiel pmurias: vim :p
20:35 * vendethiel started showing vim after seeing lizmat++, cognominal++ and so many others use it at fpw14 :)
20:36 pmurias showing vim?
20:36 tony-o_ :wq
20:36 * hugme hugs tony-o_, good vi(m) user!
20:37 vendethiel pmurias: using vim. whoops!
20:38 pmurias I use vim too, but adding IDEish Perl6 support to vim won't be fun :/
20:38 vendethiel right, vim is pretty bad at ideslaves :(
20:38 pmurias ideslaves?
20:38 vendethiel pmurias: have you tried neovim? I've heard it's got good support for linters/compilers/etc
20:39 pmurias not yet
20:39 vendethiel pmurias: I call "ideslave" the bridge a compiler might expose for an IDE/editor
20:46 dalek rakudo/newio: e02630e | lizmat++ | src/core/Exception.pm:
20:46 dalek rakudo/newio: Add X::IO::Move exception
20:46 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/e02630e4be
20:47 pmurias vendethiel: can find any info about that improved support yet
20:47 vendethiel pmurias: I think it's about 1) better scripting language 2) running tasks in parallel
20:50 masak pmurias: I'm on vim, mostly out of sheer habit.
20:50 masak pmurias: I do like Emacs, though. I actually prefer it for prose (and vim for code), but sometimes I forget to switch.
20:52 pmurias using both emacs/vim seems to be very rare, it appears that usally the user of one really hate the other editor
20:52 silug joined #perl6
20:54 * geekosaur uses both
20:55 * jnthn laughs
20:55 jnthn uh
20:55 * jnthn laughs at the silly fighting and just uses Notepad++ :D
20:55 * pmurias was once shocked when he saw jnthn use the windows dos-style command line ;)
20:56 jnthn Old habbits die hard... :)
20:58 konsolebox joined #perl6
20:58 colomon These days I hate Windows, but I still can’t imagine using it without a command-line.
21:00 pmurias jnthn: have you seen my setboolspec question?
21:00 jnthn pmurias: Uh, no, I musta missed it...
21:01 * jnthn spent the day doing airports, planes, trains, all while recovering from food poisoning, or whatever it was...
21:01 jnthn With a transport strike thrown in for good measure.
21:01 FROGGS hehe
21:01 pmurias jnthn: is there any need to setboolspec with mode 5 (MODE_NOT_TYPE_OBJECT) on NQPRoute and NQPRegex, as it appears to be the default anyway?
21:02 pmurias jnthn: doesn't seem very fun
21:02 jnthn No, it wasn't... Hope to be
21:02 jnthn argh
21:02 jnthn Hope to be on better form by FOSDEM :)
21:02 jnthn Did you check if it's done as the default on all backends?
21:03 jnthn I think originally I didn't have any kind of defaulting there.
21:03 jnthn If it's consistenly defaulting to that everywhere by now, we can drop them.
21:04 jnthn (And if it isn't, I'm up for making it default to it everywhere.)
21:06 vendethiel masak: I actually use emacs with evil mode for lisp coding :P
21:06 * vendethiel was *very* surprised when he first saw jnthn live-coding... with notepad++ and no syntax highlighting!
21:07 _sri joined #perl6
21:07 avarab joined #perl6
21:07 burnersk joined #perl6
21:08 lestrrat joined #perl6
21:09 espadrine joined #perl6
21:10 Kristien The only language I can read code in without syntax highlighting is Go.
21:11 jnthn I don't tend to miss syntax highlighting for Perl, 'cus thanks to its rather wide use of chars, different things tend to look rather different :)
21:11 jnthn Without coloring them
21:11 xfix Well, I also program Perl 6 without syntax highlighting, because wrong syntax highlighting is worse than no syntax highlighting.
21:12 FROGGS Notepad++ has syntax highlighting for Perl...
21:12 xfix And Perl 5 is not Perl 6.
21:12 jnthn FROGGS: Yeah, but...what xfix said :)
21:12 FROGGS and Notepad++ is what I use too when I am on windows (and SciTE on linux)
21:12 vendethiel xfix: actually, I prefer a poor syntax hl than none
21:12 PerlJam tchrist used to say that syntax highlighting was often a detriment to the Perl programmer because highlighters often got it wrong  (this was years ago, so maybe highlighters have gotten better since)
21:13 Mso150 joined #perl6
21:13 vendethiel not if it's *completly* wrong, ofc, but perl5 syntax highlighting works fine
21:13 FROGGS jnthn: P5 highlighting is usually perfectly fine... as long as you don't use heredocs I guess
21:13 nyuszika7h joined #perl6
21:13 vendethiel yeah, heredocs break lots of hl
21:13 xfix Until you realize that Perl 6 rules are highlighted totally wrongly, and \/ is interpreted as beginning of regex.
21:13 jnthn On Linux, or during my occasional trip to OSX land to debug stuff, I typically use Vim :)
21:13 xfix While you are writting a grammar.
21:14 muraiki for perl5 in Sublime Text, the "ModernPerl" syntax plugin works really nicely, even with variables in heredocs
21:14 vendethiel xfix: I *never* use \ anyways :P
21:14 FROGGS vendethiel: well, / '/' / does not highlight well either :o)
21:14 xfix But that isn't even an issue. My text editor interprets stuff `s` as start of regular expression.
21:14 pyrimidine Inline
21:15 vendethiel no, but {'/'} does
21:15 pyrimidine bah
21:15 pyrimidine Inline seems to be broken: http://smoke.perl6.org/project/Inline
21:15 FROGGS hmmm
21:15 FROGGS lemme check
21:15 xfix rule { something something something s? } # nope, sees beginning of pattern replacement here
21:16 pyrimidine https://gist.github.com/cjf​ields/62ec00ccf109a385e199
21:16 pyrimidine FROGGS: ^^
21:16 xfix Not to say, it bothers me seeing some keywords highlighted, and some not.
21:17 FROGGS pyrimidine: that does not make any sense
21:17 * FROGGS scratches his head
21:18 pyrimidine FROGGS: I found this when trying to install Compress::Zlib::Raw via panda
21:18 pyrimidine ==> Testing Inline
21:18 pyrimidine Too many positionals passed; expected 2 arguments but got 3
21:18 pyrimidine in method postcircumfix:<( )> at /Users/cjfields/bioperl/bioperl6/.pand​a-work/1422479597_1/lib/Inline/C.pm:18
21:18 pyrimidine in block <unit> at t/c.t:18
21:18 pyrimidine t/c.t ..
21:18 pyrimidine Dubious, test returned 255 (wstat 65280, 0xff00)
21:18 pyrimidine Failed 1/1 subtests
21:18 pyrimidine Test Summary Report
21:18 moritz FROGGS: hoelzro++ changed the signature that postcircumfix:<( )> needs
21:18 pyrimidine -------------------
21:18 pyrimidine t/c.t (Wstat: 65280 Tests: 0 Failed: 0)
21:18 pyrimidine Non-zero exit status: 255
21:18 pyrimidine Parse errors: Bad plan.  You planned 1 tests but ran 0.
21:18 FROGGS O.o
21:18 pyrimidine Files=1, Tests=0,  1 wallclock secs ( 0.02 usr  0.00 sys +  0.46 cusr  0.05 csys =  0.53 CPU)
21:18 moritz pyrimidine: please don't post so much mere
21:18 pyrimidine Result: FAIL
21:18 pyrimidine test stage failed for Inline: Tests failed
21:18 pyrimidine in method install at lib/Panda.pm:124
21:18 pyrimidine in block  at lib/Panda.pm:1
21:18 pyrimidine in method resolve at lib/Panda.pm:183
21:18 timotimo please don't do that :(
21:18 pyrimidine in sub MAIN at /Users/cjfields/src/rakudo/install​/languages/perl6/site/bin/panda:20
21:18 pyrimidine in sub MAIN at /Users/cjfields/src/rakudo/install​/languages/perl6/site/bin/panda:18
21:18 pyrimidine in block <unit> at /Users/cjfields/src/rakudo/install​/languages/perl6/site/bin/panda:69
21:18 pyrimidine Failure Summary
21:18 FROGGS ENUFF!
21:18 pyrimidine ----------------
21:18 pyrimidine Compress::Zlib::Raw
21:19 pyrimidine *test stage failed for Inline: Tests failed
21:19 pyrimidine Bah (again)
21:19 pyrimidine moritz: sorry, that was supposed to gist
21:19 pierrot joined #perl6
21:19 moritz FROGGS: postcircumfix:<( )> now gets the actual arguments like any routine, not a capture as a single argument
21:20 FROGGS moritz: I think I see
21:21 dalek rakudo/newio: 809e9c9 | lizmat++ | src/core/IO.pm:
21:21 dalek rakudo/newio: Implement MOVE-PATH helper sub
21:21 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/809e9c982b
21:23 pmurias jnthn: why have both die and die_s when both of them take a string?
21:24 pmurias ahh it's parrot shenigans
21:24 FROGGS QAST::MASTOperations.add_c​ore_moarop_mapping('die', 'die');
21:24 FROGGS QAST::MASTOperations.add_co​re_moarop_mapping('die_s', 'die');
21:24 FROGGS I'd propose you do the same as moar here :o)
21:25 pmurias * shenanigans
21:25 jnthn "historical reasons"
21:25 jnthn :)
21:25 pmurias FROGGS: jvm also handles them exactly the same
21:25 pmurias parrot-- handles them differently
21:26 FROGGS jnthn: when do you arrive in Brussels?
21:26 psch o/
21:27 jnthn FROGGS: Friday, 1pm
21:27 psch **ptr with NativeCall was somehow with a CArray around a CPtr, do i remember that right?
21:27 pmurias we should have some nqp technical debt file
21:27 FROGGS jnthn: I guess I'll be there at 10am
21:27 dalek ecosystem: d706cd3 | raydiak++ | META.list:
21:27 dalek ecosystem: Add Image::PNG::Portable to META.list
21:27 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/d706cd33bb
21:27 arnsholt psch: Yup
21:27 masak ok, I'm in a situation where I want to (a) read stuff from a database (a well-placed SELECT), and (b) render some HTML from the results. I don't want to weigh myself down heavily with any frameworks, and besides, I don't think Perl 6 has them yet. any suggestions wrt how to do the query and how to do the HTML templating?
21:28 FROGGS jnthn: do you know if woolfy  and lizmat will already prep the booth? where do we meet?
21:28 arnsholt psch: Because a one-element array and a pointer are basically the same
21:28 lizmat FROGGS: the booth will be prepped on Sat morning
21:28 psch thanks arnsholt++
21:28 masak when I think about it, I'm just leaning towards doing the query directly, get an array out, and then somehow .subst some suitable projection of the array into an HTML template.
21:28 lizmat I believe we have access to the building from 8am
21:29 FROGGS lizmat: ahh, okay, I'll be there :o)
21:29 lizmat ah, correction: apparently it's officially at 9am that we have access
21:29 FROGGS though, in case Brussels is not extra exciting I might go straight for the hotel and find a place to sit comfortable :D
21:30 lizmat well, the weather is definitely not cooperating for a nice walk around the town
21:30 woolfy FROGGS: officially, buildup of the booth starts at 09:00.  But since we have a lot of boxes to move, I am going to ask if that really is the toime the doors open...
21:30 lizmat we did that today and got completely rained out and blown away at some places
21:30 jnthn Thanks to being ill the last days, I've still a lot to do with preparing my talk.
21:31 lizmat at least the Atomium was dry on the inside
21:31 jnthn So I'll probably be hiding away much of Friday.
21:31 muraiki masak: if you figure out how to do that, I'd be interested in seeing it :)
21:31 masak hm, the spec on `rmdir($path)` is a little skinny. how do I recursively remove a directory in Perl 6?
21:31 masak muraiki: got it. I'll let you know.
21:32 FROGGS masak: also, how to do mkdir -p?
21:32 Juerd masak: system <<rm -rf "$path">>? ;-)
21:32 jnthn masak: Somebody added a Tag module to the ecosystem the other day that may be useful for the generating part.
21:32 masak Juerd: we don't have `system`. we have `shell` and we have `run`.
21:33 masak Juerd: but yes, I just did a `shell`.
21:33 Juerd masak: Why shell, not run?
21:33 masak jnthn: I will check it out. but I suspect I will end up not using it, when I can do .subst
21:33 masak Juerd: because I've never really learned the difference :P
21:34 telex joined #perl6
21:34 masak Juerd: I think &run is the "safe" one that shell-expands your arguments in a sensible way.
21:34 Juerd masak: shell does sh -c, run takes a list of args and skips shell interpretation.
21:34 masak Juerd: and I don't need that here, since I have a constant string as my command.
21:35 Juerd Roughly, sub shell { run 'sh', '-c', @_ }
21:35 Juerd iirc
21:35 Juerd Or @_[0] even
21:36 lizmat masak: since we have mkpath() specced in newio, I guess I should also spec 'rmpath'
21:36 masak lizmat: we have 'rmdir' spec'd already.
21:36 broquaint joined #perl6
21:37 vendethiel masak: Template::Mojo looks good for templating :)
21:37 masak lizmat: but I found no spec about (a) what it does when something goes wrong, or (b) whether it can remove stuff recursively.
21:37 lizmat masak: but that's only 1 level
21:37 masak vendethiel: I'll check it out -- thanks.
21:37 lizmat masak: rmpath() would be the recursive version, I guess
21:38 FROGGS pyrimidine: Inline-C should be fixed now, thank you very much for reporting it :o)
21:38 pyrimidine FROGGS: cool! (and apologies for the IRC flatulence)
21:38 konsolebox joined #perl6
21:39 FROGGS pyrimidine: np
21:40 masak lizmat: ok, I see.
21:40 masak Template::Mojo looks like it could simplify my life, actually. vendethiel++ tadzik++
21:40 vendethiel tadzik++
21:42 FROGGS masak: a hint, do that to EVAL your template only once: my &main := Template::Mojo.new(slurp 'views/main.tt').code;
21:42 masak $ panda install Template::Mojo
21:42 masak * it installs without a hitch
21:42 masak \o/
21:42 vendethiel \o/
21:43 FROGGS of course :o)
21:43 masak FROGGS: any reason using binding `:=` there is important?
21:43 masak (I got test failures in DBIish while rebootstrapping, though)
21:43 FROGGS masak: so you don't run the .code
21:44 masak oh, it's because NativeCall fails.
21:44 timotimo do we perhaps want to move rakudo.org onto www.p6c.org?
21:45 masak m: class Mojo { has &.code = sub { say "OH HAI" } }; my &main := Mojo.new.code; main()
21:45 camelia rakudo-moar 166cd3: OUTPUT«OH HAI␤»
21:45 masak aha.
21:45 FROGGS masak: I'd seen this: Native call expected object with CPointer representation, but got something else
21:45 masak m: class Mojo { has &.code = sub { say "OH HAI" } }; my &main = Mojo.new.code; main()
21:45 camelia rakudo-moar 166cd3: OUTPUT«OH HAI␤»
21:45 FROGGS masak: and then pulled and rebuild moar+nqp+rakudo
21:46 masak FROGGS: seems to work even without the binding ^
21:46 masak FROGGS: yes, that's the NativeCall error I'm getting.
21:46 FROGGS hmmm, perhaps a thinko from my side
21:46 masak pulling and rebuilding worked? I might try that, then.
21:46 masak though it's not on my critical path right now.
21:46 grondilu joined #perl6
21:47 grondilu Is Laurent Rosenfeld, author of http://laurent-rosenfeld.developpez.​com/tutoriels/perl/perl6/les-bases/, around here?
21:47 FROGGS rebuilding + rebootstrapping did it, aye
21:47 timotimo hm, it should be very possible to actually output the kind of representation it got rather than just "got something else"
21:47 masak tadzik: Template::Mojo doesn't have a USAGE example in the README >:(
21:49 FROGGS masak: reverse engineering ftw /o/
21:50 FROGGS timotimo: that would be very very sweet
21:50 pyrimidine masak: on the subject of documentation...
21:50 pyrimidine I have seen more .md files, and little pod6.  So, is the current recommendation to use md or pod6
21:50 pyrimidine ?
21:52 FROGGS pyrimidine: we just love github, and markdown is their love child... I guess there will be more pod6 when pod6 would look nice on github pages (or in case we'd have a cpan that shows pod6 nicely)
21:52 Kristien I use reStructuredText for everything.
21:53 * timotimo is testing a patch
21:53 pyrimidine FROGGS: kinda my line of thought as well. now we just need to get a pandoc converter for pod6 <-> markdown :)
21:54 FROGGS pyrimidine: go ahead, I'd use it :o)
21:54 masak pyrimidine: to be honest, pod6 hasn't "clicked" for me yet the way markdown has.
21:55 lizmat hmmm... do we want "move" to be smart enough to recognize a directory as the target, and move it into that directory?
21:55 timotimo FROGGS: can has short test case to get such an error?
21:55 broquaint joined #perl6
21:55 masak pyrimidine: markdown just feels natural at this point. I can finish hammering out some markdown in the time it takes for Word to load.
21:55 FROGGS I'm not even able to write POD without a cheatsheet... but I'll do my best with pod6
21:55 FROGGS timotimo: hmmm, that's not so easy
21:55 lestrrat joined #perl6
21:56 FROGGS timotimo: perhaps...
21:56 timotimo do you have code locally that does it? like right now?
21:56 timotimo in that case i'll shoot you th epatch and we'll see if it behaves better
21:56 Kristien What's the relationship between source files, modules and module … { … }?
21:57 FROGGS timotimo: I had.... I had a few days old rakudo, and an up-to-date NativeCall
21:57 timotimo god damn it, the network around here is so broken ... in such a strange way, too
21:57 pyrimidine masak: yes, agreed.  We're working on wrapping most of our analysis tools to output MD or MMD, then use pandoc to convert analyses to whatever we need
21:57 FROGGS timotimo: and it showed up in its tests
21:57 timotimo FROGGS: can you copy-paste the little command line that is on sprunge.us ?
21:58 pyrimidine MMD == multimarkdown in this case (and  only if we need it :)
21:58 FROGGS timotimo: this? <command> | curl -F 'sprunge=<-' http://sprunge.us
22:01 timotimo thanks
22:01 raydiak Kristien: the explanation of compunits and modules in S11 might be useful to you
22:01 Kristien OK
22:04 pyrimidine FROGGS++ # Inline fix worked
22:04 vendethiel ...or maybe not raydiak
22:04 vendethiel I found S11 to be one of the most confusing synopses
22:05 timotimo FROGGS: http://sprunge.us/FJPL
22:07 woolfy FROGGS: doors of K-building (our booth is 2nd floor) open at 07:00 (not for "general public", but for FOSDEM-volunteers, and we are allowed in when we behave well), but lizmat and I will be there a bit later than that, we aim at 08:00.
22:07 FROGGS woolfy: I aim for the same then :o)
22:07 woolfy FROGGS++
22:07 FROGGS \o/ FOSDEM \o/
22:07 Mso150 joined #perl6
22:08 raydiak vendethiel: yes it's a little dicey in places, especially the NYI places, but it does answer the obvious questions about file<->module mappings...especially since nobody else was answering I figured it'd be a start
22:09 raydiak anyway...nebulous question gets nebulous answer :)
22:09 woolfy We will probably have snow at FOSDEM...
22:11 lestrrat joined #perl6
22:12 FROGGS timotimo: nearly there nearly there
22:12 pmurias a metacpan6 that show pod6 nicely >>>> github
22:13 dalek rakudo/newio: 7d1fc3d | lizmat++ | src/core/IO.pm:
22:13 dalek rakudo/newio: Make MOVE-PATH put file in dir if dest is dir
22:13 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/7d1fc3d058
22:13 dalek rakudo/newio: af96db1 | lizmat++ | src/core/IO/Pathy.pm:
22:13 dalek rakudo/newio: Rename the abspath of object itself as well
22:13 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/af96db18d0
22:14 pmurias IMHO a metacpan6 is one of the most missing things in Perl 6 right now
22:14 Kristien When you use nqp-js/rakudo-js does stuff in BEGIN phasers appear in the generated JS code?
22:14 FROGGS timotimo++
22:14 FROGGS Failed 17/20 subtests
22:14 FROGGS Native call expected return type with CPointer representation, but got P6opaque
22:14 FROGGS timotimo: though, can you call it "but got a %s" ?
22:14 pmurias Kristien: objects created at compile time get serialized
22:15 Kristien OK, cool.
22:15 pmurias Kristien: currently only nqp-js exists
22:15 woolfy1 joined #perl6
22:16 FROGGS Kristien: it has to, because you run that code once, but probably deserialize often
22:16 psch «device count: 4294957296» # this looks suspicious, considering that's supposed to be audio devices...
22:19 FROGGS psch: is it a server?
22:22 psch FROGGS: no, it was an unitialized library... :)
22:22 psch the 8 devices i get now seems more sensible
22:23 FROGGS psch: what library ooc?
22:23 psch FROGGS: portaudio
22:23 FROGGS ahh :o)
22:23 psch FROGGS: i'm stuck starting the stream though, portaudio says opening worked, but starting afterwards doesn't
22:24 virtualsue joined #perl6
22:24 psch and "Invalid Stream pointer" doesn't quite tell me what i want to know... :s
22:26 FROGGS psch: you pass it a PaStream **stream?
22:26 psch FROGGS: i pass it a CArray[OpaquePointer]
22:26 psch https://github.com/peschwa/Audi​o-PortAudio/blob/master/test.pl
22:26 * vendethiel cringes at "isomorphic javascript" in netflix's blog post about react :(
22:27 vendethiel woolfy: I'm jealous! we didn't get any snow in paris :(
22:27 psch FROGGS: and lib/Audio/PortAudio.pm in the same repo of course
22:28 jercos isomorphic javascript is just a completely natural (bad) reaction to node.js >.>
22:28 vendethiel jercos: the usage is "isomorphic" being so terribly incorrect is the problem
22:29 lestrrat joined #perl6
22:29 jercos ah, yes, well, conceptually the result of running the code server-side and browser-side should be isomorphic, in the purest of high-level theory...
22:30 vendethiel purest of high-level theory?
22:31 dalek specs/newio: d25d464 | lizmat++ | S16-io.pod:
22:31 dalek specs/newio: Spec rmpath() and elaborate a bit on move()/.move
22:31 dalek specs/newio: review: https://github.com/perl6/specs/commit/d25d464273
22:32 lizmat and on that thought, I wish #perl6 a good night
22:33 psch g'night lizmat
22:34 masak 'night, lizmat
22:35 vendethiel g'night :)
22:35 FROGGS gnight lizmat
22:35 FROGGS psch: I cannot install libportaudio so I cannot test :o(
22:35 konsolebox joined #perl6
22:37 psch FROGGS: no worries, i might figure it out eventually :)
22:38 FROGGS just a few ideas: I'd put CArray[OpaquePointer] where CArray appears in your .pm file, and I'd remove the 'is rw'
22:42 psch no such luck, Pa_StartStream still fails
22:45 kyclark_ joined #perl6
22:46 FROGGS Pa_StartStream (PaStream *stream)
22:46 FROGGS does $stream[0] help there?
22:47 FROGGS psch: ?
22:47 psch FROGGS: yes, that does it!
22:47 FROGGS \o/
22:47 psch apparently i need to relearn about references in C :)
22:47 psch FROGGS++
22:47 Kristien m: sub f { CALLER::RETURN(42) }; sub g { f; say "hi" }; say g
22:48 camelia rakudo-moar 166cd3: OUTPUT«Cannot find method 'dynamic': no method cache and no .^find_method␤  in method at_key at src/gen/m-CORE.setting:11553␤  in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:3531␤  in sub f at /tmp/YSRkwROZEu:1␤  in sub g at /tmp/YSRkwROZEu:1␤  in…»
22:48 Kristien psch: good thing C has no references
22:48 FROGGS psch: you just need to learn to carefully re-read the docs (or header files) at that point :o)
22:48 psch Kristien: what's the difference between a reference and a pointer?
22:49 psch Kristien: and why does C have a "dereference operator" when it doesn't have references?
22:50 FROGGS m: sub f { nqp::getlexcaller('RETURN')(42) }; sub g { f; say "hi" }; say g
22:50 camelia rakudo-moar 166cd3: OUTPUT«42␤»
22:50 psch FROGGS: yes, that probably would've helped as well.  the concept still isn't firm in my head though, i think
22:50 jnthn You call it a pointer when your program crashes and a reference when it works.
22:50 jnthn That's why Java has references, except when you dereference a null one, and then you get a NullPointerException.
22:51 Kristien It's difficult to explain without examples.
22:54 psch jnthn: sounds kind of arbitrary, if workable.  the reference belongs to an existing something in memory that we can do stuff with, while the pointer is what can contain a reference or something invalid, e.g null or foreign memory
22:54 psch jnthn: is that about right?
22:56 Kristien psch do you know C#?
22:56 vendethiel :P
22:56 gfldex a reference can point beyond the end of the stack if you goto between functions
22:56 Kristien references are like ref and out in C#. pointers are like Object in C#
22:56 raydiak is there a faster way to turn a large Blob into a nativecall CArray than setting the elements one at a time in a for loop?
22:58 psch Kristien: no, i don't know C#
22:58 Kristien :v
22:58 gfldex Kristien: native typed arrays i guess, one of the 3 things on The List Before Christmas
22:58 Kristien what languages do you know?
22:59 psch Kristien: bits of C (...), perl, perl6, some php, a little python, very little asm, java, js
22:59 vendethiel forget about references in php, to start with...
23:00 psch vendethiel: yes, i met the loop behavior
23:00 Kristien PHP has references with &
23:00 vendethiel it's nothing like what C has
23:00 vendethiel php even used to have call-time pass by reference...
23:00 Kristien for example: http://ideone.com/BRa2zn
23:01 jnthn psch: I wasn't being especially serious there. :) But I guess if I was going to make real distinctions, I'd probably say that pointers are all about memory addresses and thus it makes sense to do arithmetic on them, while references refer to a particular thing and deference is the only operation available.
23:01 vendethiel ... which is indeed nothing like what C has :P
23:01 Kristien they're more like aliases
23:01 Kristien or immutable pointers with implicit dereferencing
23:01 vendethiel looks more like C++'s references
23:02 Kristien compare with non-reference: http://ideone.com/Lab4I4
23:03 FROGGS raydiak: you could perhaps try to nativecast your blob to a CArray
23:04 Kristien or: http://ideone.com/BUm8HJ
23:04 jnthn I think we should be able to pass Buf/Blob/native arrays off to NativeCall
23:06 raydiak jnthn: should as in "should work" or should as in NYI?
23:07 raydiak FROGGS++: thanks I'll have to learn about that :)
23:08 psch Kristien: thanks for the example, but i don't really know what i'm supposed to see there
23:08 jnthn raydiak: NYI
23:08 Kristien you can't do that with pointers.
23:09 Kristien In C, void f(int* x) { x = 42; } is a type error. You need to explicitly dereference x.
23:09 psch Kristien: so that means PHP references are binding
23:09 psch and not references
23:09 psch ...?
23:10 psch i mean, maybe i'm hung up on words here, but if it was a reference i have to have to dereference it to get to the value
23:11 raydiak jnthn: I agree, that would make some wrappers easier...right now I'm just trying to compress a few megs, but copying it from a Blob to a CArray in Perl 6 takes over a minute
23:14 adu joined #perl6
23:14 adu hi
23:14 FROGGS gnight
23:15 raydiak hi adu
23:15 adu hi raydiak
23:15 psch hi adu
23:15 adu hey psch
23:16 thilp joined #perl6
23:18 masak 'night, #perl6
23:18 raydiak g'night masak o/
23:18 * ab5tract wonders how he only now just stumbled across http://www.dlugosz.com/Perl6/index.html
23:18 psch g'night masak
23:19 ab5tract night masak!]
23:25 jferrero joined #perl6
23:28 dalek rakudo-star-daily: d6f3f4f | coke++ | log/ (9 files):
23:28 dalek rakudo-star-daily: today (automated commit)
23:28 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/d6f3f4f0b8
23:28 dalek perl6-roast-data: 7f8244f | coke++ | / (5 files):
23:28 dalek perl6-roast-data: today (automated commit)
23:28 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/7f8244f2f6
23:31 lestrrat joined #perl6
23:32 adu why is everyone going to sleep?
23:33 raydiak cuz...it's late!
23:33 raydiak (in europe)
23:38 thilp could someone please explain me why: do { my $a = DYNAMIC::<$*d>:exists; my $*d = 2; $a } is True?
23:38 thilp why does $*d exists before it is defined? Is it something related to the various compilation phases?
23:40 lestrrat joined #perl6
23:41 psch m: BEGIN say DYNAMIC::<$*d>:exists; INIT say DYNAMIC::<$*d>:exists; my $*d;
23:41 camelia rakudo-moar 166cd3: OUTPUT«False␤True␤»
23:41 jnthn Existence and definedness mean different things in Perl 6, for one
23:42 jnthn But in this case it's simply that variables are declared within a given lexical scope and declarations are processed at compile-time
23:42 jnthn When you write DYNAMIC:: you're explicitly putting resolution of the name off until runtime.
23:42 jnthn m: say $a; my $a;
23:42 camelia rakudo-moar 166cd3: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/WfZNLiP7_hâ�¤Variable '$a' is not declaredâ�¤at /tmp/WfZNLiP7_h:1â�¤------> [32msay $a[33mâ��[31m; my $a;[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
23:42 jnthn Note that one is a compile time error, not a runtime one.
23:43 jnthn m: EVAL 'say $a'; my $a; # also ok
23:43 camelia rakudo-moar 166cd3: OUTPUT«(Any)␤»
23:43 jnthn m: EVAL 'say $a'; my $a = 42; # but note the assignment happens at runtime
23:43 camelia rakudo-moar 166cd3: OUTPUT«(Any)␤»
23:46 thilp i see! thank you very much!
23:49 * [Coke] waves from another airpot.
23:49 [Coke] *airport.
23:51 BenGoldberg joined #perl6
23:51 * jnthn did enough airports for one day... :)
23:52 jnthn .oO( I never tried airpot... )
23:56 lestrrat joined #perl6
23:57 jnthn sleep &
23:58 raydiak good night jnthn
23:59 raydiak no luck with nativecast...anyone have any other clever ideas to speedily squeeze a Blob into a CArray?

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo