»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by moritz on 25 December 2014.
timotimo avar: yes, nom is our current main branch 00:00
avar Where's the build instructions for all of this? 00:01
masak avar: github.com/rakudo/rakudo/blob/nom/INSTALL.txt
00:02 espadrine left
ab5tract avar: alternatively, you can use rakudobrew github.com/tadzik/rakudobrew/ 00:03
avar amazing
ab5tract avar: is that your response to ./Configure.pl --backends= ? :) 00:04
anyway, looking forward to the backlog. ciao for now #perl6! 00:06
00:07 adu joined
timotimo gnite 00:08
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
00:10 KCL_ joined
timotimo what i usually do is just point the --prefix= at the same place for all three components 00:11
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:12 hzhou321 left 00:17 KCL_ left
btyler avar: here's my "I'm sick of doing this by hand" 3-minute script for refreshing clones of moar, nqp, and rakudo: ssl.thorsen.pm/paste/4a9cbc9b6700 . not as a "use this code" but "pull out the perl Configure.pl lines to suit you" 00:22
00:23 SevenWolf joined, KCL_ joined
avar btyler: cool 00:24
vendethiel prefers perl6's ffi to nim 00:36
though we don't have memory regions... oh wait that's good
00:38 SevenWolf left 00:44 rjbs- joined 00:50 flussenc1 is now known as flussence 01:04 broquaint left
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
01:08 raydiak_ is now known as raydiak, hzhou321 joined 01:13 muraiki_ joined
hoelzro ab5tract: happy to be of serivce =) 01:18
service, too 01:20
Peter_R raydiak, looks like your repo's come back from the future 01:22
raydiak guess so :) 01:23
hoelzro your kids, Marty! 01:24
something has to be done about your kids!
raydiak hey it's 2015, where's the holographic sharks already? 01:25
01:25 kurahaupo joined
raydiak
.oO( everyone goes on about the flying cars and hoverboard and forgets the holographic sharks )
01:25
Peter_R Don't forget the self lacing shoes 01:30
Soon to be a reality I hear
raydiak heh 01:33
01:34 kurahaupo left
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:39
masak muraiki_: no. 01:42
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
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.
...but (a) it's not done yet, and (b) who knows whether it will be 01:44
muraiki_ masak: thanks!
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
...but it's not done yet.
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.
vendethiel masak: I think the return type one will come a long time before liquid types ;-) 01:47
Peter_R I wish I knew what half the stuff talked about here meant 01:50
vendethiel masak: makes me think about CL's optional types 01:52
it's not required in the specs that compiler do it, but most of them will do it anyways
masak Peter_R: just so you know, I was once in your current place.
Peter_R: it gets better, fast, to the extent you curiously explore the terrain. 01:53
Peter_R: half of the confusion is just language barrier. we're pretty specific in our terminology and lingo.
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.
that must be many years ago now.
Peter_R All very interesting to hear anyway :)
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
masak is all about encouragement 01:56
masak .oO( "We should consider an actual prime." -- "You mean an actual number?" -- "Yes, an actual prime number." -- "All right, take 57." ) 01:57
01:59 kurahaupo joined, BenGoldberg left 02:00 BenGoldberg joined
masak vendethiel: ooc... "liquid types"? 02:04
vendethiel masak: "ooc"?
02:04 [Sno] left
masak "out of curiousity" 02:05
curiosity*
vendethiel masak: would allow to check for "where"s at compile time -- see liquid haskell
that's what I'm interested in in the very very very long term :) 02:06
02:07 fwilson left
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
not sure if that makes sense.
vendethiel it does to every haskell/idris/...-er out there :-)
02:08 fwilson joined
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
then do that for a couple of tests.
vendethiel masak: you should try agda or idris, often enough, the compiler can generate implementation for the function :P
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.
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.
vendethiel (ctrl-c ctrl-l iirc for agda2-mode emacs)
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:10
02:14 virtualsue joined 02:18 yeahnoob joined, kurahaupo left 02:29 BenGoldberg left, BenGoldberg joined
[Coke] finally catches up post-conference. 02:44
~~, sixers.
02:44 chenryn joined 02:45 ilbot3 left 02:46 andreoss left 02:47 ilbot3 joined
hzhou321 I am new to perl6. Does perl6 have method to interface with C like xs? 02:53
masak yes 02:55
hzhou321 Do you have pointer to documentation? 02:56
masak github.com/jnthn/zavolaj/ 02:57
02:57 yqt joined
masak 'night, #perl6 02:57
hzhou321 masak: thx.
japhb masak++ # Advice? Rant? Manifesto? ... starting at irclog.perlgeek.de/perl6/2015-01-27#i_10016004 and continuing at irclog.perlgeek.de/perl6/2015-01-27#i_10016097 03:10
hzhou321 Is there any benchmark between Perl5 and Perl6? 03:17
Peter_R I've seen graphs, they must exist... 03:18
03:18 Psyche^ joined
Peter_R The cliff notes of the graph were "lists are slow" 03:19
moritz \o/ 03:20
itz_: do you have any idea why my old blog posts are showing up as new in the pl6anet feed? 03:21
03:22 Patterner left, risou is now known as risou_awy, risou_awy is now known as risou 03:25 virtualsue left
dalek kudo/nom: d5c67dc | hoelzro++ | src/ (3 files):
Don't pass capture to invoke/postcircumfix:<( )> when performing Type(...)

If a user wants to override the behavior of Type(...), they have to know that the invoke/postcircumfix:<( )> method takes a single argument that is a Capture, rather than the actual values provided. This is an implementation detail, not in the spec, and unintuitive.
03:25
ast: d32ba94 | hoelzro++ | S13-overloading/typecasting-long.t:
Take the full argument list when overriding (...) for Type(...)
03:26
muraiki_ night p6 03:27
03:27 muraiki_ left 03:35 yqt left
skids hoelzro++ I remebering going WTF over that. 03:39
hoelzro skids: oh, good on me then =) 03:40
hopefully others are ok with the change
03:41 kurahaupo joined 03:43 Mouq joined 03:47 noganex_ joined 03:50 noganex left 03:52 vendethiel left, vendethiel joined
moritz hoelzro: I'm not OK with it missing from ChangeLogs 04:02
s/s$//
hoelzro moritz: ah, noted
I'll add that
dalek kudo/nom: ffc5836 | hoelzro++ | docs/ChangeLog:
Document the change to overriding Type(...)
04:04
hoelzro moritz++ # advice
dalek kudo/nom: 9f15442 | moritz++ | docs/ChangeLog:
Add more changelog entries
04:07
moritz hoelzro++ # acting on it :-)
time to sleep again, now that $smallone also sleeps again 04:08
hoelzro o/ moritz 04:09
Mouq hoelzro: Does that commit break nativecall? 04:11
Mouq also has to try catching some sleep 04:12
dalek ast/coerce-multi: a22c42c | hoelzro++ | S02-types/COERCE.t:
Start implementing tests for COERCE
04:14
ast/coerce-multi: b717214 | hoelzro++ | S02-types/COERCE.t:
Test that Type(...) still calls invoke if present
ast/coerce-multi: e142fd0 | hoelzro++ | S02-types/COERCE.t:
Test COERCE + subclasses
hoelzro Mouq: eesh, I sure hope not
hoelzro tests
dalek kudo/coerce-multi: a298d34 | hoelzro++ | src/ (2 files):
Start on implementation of COERCE

COERCE is a multi that takes a value and a type object; users wishing to define special semantics for how a value of a given type is coerced to other type may implement the appropriate candidate for COERCE to perform that coercion. The default is call a method of the same name as the type object's class on the value.
kudo/coerce-multi: d9460c5 | hoelzro++ | t/spectest.data:
Use new COERCE test in roast
04:17 Mouq left
japhb hzhou321: Yes, there are p5/p6 benchmarks. I wrote the framework and the majority of the tests: 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:19
04:19 vendethiel left
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:20
hoelzro Mouq was right; that *does* break NativeCall o_O 04:27
unfortunately, my NQP fu is not strong enough to fix it
if anyone could help me fix that, I would really appreciate it 04:34
if it's a blocker for anyone, feel free to revert my commits and we can chat about how to fix it tomorrow 04:35
04:46 yeahnoob left 04:47 sivoais left 04:48 sivoais joined 04:56 charsbar_____ left 05:03 KCL_ left 05:06 chenryn left 05:07 chenryn_ joined 05:10 chenryn_ left, chenryn_ joined 05:23 raiph left 05:33 charsbar joined 05:54 chenryn__ joined 05:55 chenryn_ left 05:56 mr-foobar left 06:00 chenryn__ left 06:01 chenryn__ joined 06:04 chenryn__ left 06:05 chenryn__ joined 06:08 broquaint joined 06:18 bjz joined 06:20 bjz left
dalek volaj: 339501e | moritz++ | lib/NativeCall.pm6:
Fix for latest rakudo

postcircumfix:<( )> now receives a normal argument list, not a single-item capture
06:22
moritz hoelzro: ^^ FTFY. No NQP hackery required
06:22 [Sno] joined 06:32 BenGoldberg left 06:33 Khisanth left 06:34 Khisanth joined 06:35 spider-mario left 06:45 baest left 06:46 bartolin_ left, bartolin joined
bartolin fwiw Parrot builds again and last nights spectest on Parrot was clean 06:48
lizmat++ moritz++ jnthn++ # bisecting and fixing
07:09 telex left 07:10 telex joined, vendethiel joined 07:11 [Sno] left 07:16 rindolf joined, kaleem joined 07:36 rindolf left
lizmat confirms parrot builds and tests ok again 07:38
although I'm not quite sure what caused the fix 07:39
07:39 kjs_ joined
lizmat offline until late& 07:40
07:56 vendethiel left 07:57 chenryn__ left
TimToady sitting in AMS waiting for our next flight 07:57
07:58 Rounin joined, chenryn__ joined
El_Che TimToady: it's not raining, so that's a good thing :) 07:59
TimToady boarding... 08:01
08:05 prime- left 08:06 yeahnoob joined 08:08 chenryn___ joined 08:09 chenryn__ left 08:10 yeahnoob left 08:11 avuserow left, FROGGS joined, prime joined 08:14 yeahnoob joined, [Sno] joined 08:15 avuserow joined, vendethiel joined 08:21 darutoko joined 08:22 xfix joined 08:29 moritz left 08:33 pdcawley joined 08:34 moritz joined 08:35 espadrine joined 08:38 vendethiel left 08:40 Kristien joined, bjz joined, telex left 08:45 telex joined 08:50 espadrine left 08:53 adu left 08:57 zakharyas joined, brrt joined
Kristien How can you make grammars ignore whitespace from the input between tokens? 08:58
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
oh 09:00
that's what you said
Kristien or do I have to put \s* before all of my rules and tokens?
brrt i'd be surprised if that were the case 09:01
Kristien yeah, me too
or perhaps proto token lexeme { \s* * } 09:02
FROGGS m: my rule foo { a b }; say "a b" ~~ /<foo>/ 09:03
camelia rakudo-moar 9f1544: OUTPUT«「a b」␤ foo => 「a b」␤»
FROGGS m: my rule foo { a b }; say "ab" ~~ /<foo>/
camelia rakudo-moar 9f1544: OUTPUT«Nil␤»
FROGGS m: my token foo { a b }; say "ab" ~~ /<foo>/
camelia rakudo-moar 9f1544: OUTPUT«「ab」␤ foo => 「ab」␤»
FROGGS m: my token foo { a b }; say "a b" ~~ /<foo>/
camelia rakudo-moar 9f1544: OUTPUT«Nil␤»
FROGGS Kristien: see?
consider a token a word, and rule about sentences 09:04
Kristien ah I see
thanks
now it works :D 09:05
09:06 andreoss joined
JimmyZ FROGGS: github.com/MoarVM/dyncall/wiki 09:07
09:08 pecastro joined
FROGGS JimmyZ++ 09:09
awesome :o)
09:11 Kristien left
andreoss rakudo.org is 500 now 09:15
09:17 fhelmberger joined
moritz pmichaud: ^^ rakudo.org gives a 500 internal server error. Could you please investigate? 09:20
09:22 mvuets joined 09:24 kjs_ left 09:25 abraxxa joined 09:29 kjs_ joined 09:32 kjs_ left 09:35 vendethiel joined, espadrine joined
timotimo hzhou321: t.h8.lv/p6bench/ 09:38
09:39 Kristien joined 09:43 dakkar joined 09:44 kjs_ joined 09:52 baest joined 09:56 vendethiel left 10:02 sirdancealot joined
andreoss error: pathspec '2015.01-22-g5a33762' did not match any file(s) known to git. 10:11
Command failed (status 256): git checkout 2015.01-22-g5a33762
Kristien why does Grammar.parse return Any on failure? 10:12
Rather than say Nil or Failure 10:13
moritz it returns Nil, I think
10:13 nyuszika7h left
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
Kristien Oh, I see.
Ah right nice. 10:15
10:18 nyuszika7h joined 10:21 yeahnoob left
andreoss i can't compile parrot backend 10:29
its failing to link with this error
/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
why parrot needs TLS?
FROGGS andreoss: I am forwarding it to #parrot on irc.perl.org 10:30
10:30 virtualsue joined
andreoss might be something wrong with my localy installed libc, links ok against system one 10:34
masak good mor'n, #perl6 10:37
andreoss /usr/lib/gcc/x86_64-redhat-linux/4.9.2/../../../../lib64/crt1.o: In function `_start': 10:39
(.text+0x12): undefined reference to `__libc_csu_fini'
FROGGS: may be i should make distclean somewhere? 10:40
10:42 Sqirrel left 10:44 vendethiel joined 10:55 sirdancealot left
masak japhb: actually, my rant started at irclog.perlgeek.de/perl6/2015-01-27#i_10015898 and the parts you pointed to were kind of a continuation of that. 10:56
11:00 btyler left 11:03 Kristien left 11:04 chenryn___ left
tadzik PLPW 2015 is cooking :} 11:04
11:05 brrt left
El_Che pw.pl? 11:05
11:05 brrt joined
tadzik Polish Perl Workshop 11:05
11:05 chenryn___ joined
El_Che nice 11:05
11:07 vendethiel left, rurban_ joined 11:08 kjs_ left, vendethiel joined
masak tadzik: \o/ 11:09
11:10 chenryn___ left 11:11 chenryn___ joined 11:12 noganex joined 11:13 mvuets left 11:14 noganex_ left 11:16 mvuets joined 11:17 Kristien joined
Kristien I wrote my first parser written in Perl 6! 11:19
moritz \o/
11:20 Kristien left 11:23 brrt left 11:37 ka05 left 11:53 kaleem left 11:55 chenryn____ joined 11:57 chenryn___ left, Kristien joined
Kristien I'm writing a tool to generate data structures in various languages and serialization/deserialization code 11:58
12:01 Kristien left 12:02 kjs_ joined 12:04 Kristien joined
vendethiel seems like something ingy would love :) 12:05
12:07 rindolf joined
Kristien currently looks like this: gist.github.com/rightfold/9296916eb5f32c6580d6 12:09
vendethiel "grammar Grammar" always make me feel uneasy 12:10
Kristien not me :D 12:11
FROGGS m: grammar Grammar { }; say Grammar.WHAT 12:12
camelia rakudo-moar 9f1544: OUTPUT«(Grammar)␤»
FROGGS andreoss: did you just pull and rebuild? perhaps you can remove your install directory 12:13
12:16 chenryn____ left 12:20 rindolf left 12:21 brrt joined
andreoss FROGGS: yes, i've already removed it, parrot still fails to link 12:23
12:28 pmurias joined
hoelzro moritz: thanks for fixing that; I didn't think about just grabbing the whole Capture! 12:32
moritz hoelzro: you're welcome
12:33 chenryn____ joined
moritz with the right idea, it was trivial. Otherwise it might have been quite nasty 12:33
12:37 brrt left 12:38 rmgk_ joined, rmgk left, rmgk_ is now known as rmgk
dalek p-js: c46c987 | (Pawel Murias)++ | src/vm/js/bin/run_tests:
Add passing test 64 to run_tests.
12:40
p-js: 3cca062 | (Pawel Murias)++ | t/nqp/59-nqpop.t:
Add a test for nqp::isnull_s/nqp::null_s.
p-js: 6b6a8f1 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Implement nqp::isnull_s/nqp::null.
12:47 chenryn____ left 12:48 risou is now known as risou_awy, risou_awy is now known as risou
pmurias what would be a good way to test nqp::time_n(), nqp::time_i()? 12:50
Kristien m: say('a') ==> say() 12:53
camelia rakudo-moar 9f1544: OUTPUT«a␤True␤»
moritz pmurias: you can call time_n() several times, and test that the results are increasing
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.
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
jnthn That already makes spectest horribly slow for me during S17... 12:55
moritz: Yes, matches with github.com/rakudo/rakudo/commit/34...55d1c077e4 having fixed it :) 12:56
pmurias and the other question is how accurate is time_n supposed to be?
is one millisecond resolution enough? 12:57
moritz pmurias: on the femtosecond level, please
:-)
pmurias: there's no spec on how accurate it must be
Kristien millenia
the function will be fast as hell
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 :-)
dalek p-js: ab9ea8b | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Implement nqp::time_n()/nqp::time_i().
12:59
Kristien not me
I won't implement it!
moritz pmurias: I'd just go with millisecond resolution for now, and if somebody complains, you can still try to improve on it later
but until them, YAGNI applies
13:03 btyler joined
vendethiel
.oO( si-defects )
13:04
dalek p-js: 4dc5253 | (Pawel Murias)++ | t/nqp/59-nqpop.t:
Add some weak tests for nqp::time_i/nqp::time_n.
13:05
Kristien vendethiel: :O 13:07
I think I should write my compiler in Perl 6.
Instead of in JavaScript.
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
There is Rhino, though.
pmurias Kristien: what are you compiling? 13:09
vendethiel pmurias: lasagnas :P
Kristien language I'm working on 13:10
pmurias any description of that?
Kristien The language is like Eiffel and Scala and the compiler generates ECMAScript 5 code. 13:11
Or rather, is to generate ECMAScript 5 code. 13:12
pmurias is it a lightweight layer on javascript like coffescript or something more removed like nqp-js/rakudo-js? 13:13
vendethiel less lightweight
it changes semantics, big time
Kristien Much less lightweight. 13:14
and much more strict
pmurias is the code/description somewhere? 13:15
Kristien vaguely: github.com/rightfold/lasagnascript
but the compiler is junk currently; I'm rewriting it asap
13:19 kjs_ left
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:22
pmurias in nqp-js I'm using a "chunks" abstraction, Chunk.new($type, $sideeffect_free_js_expression, @array_of_js_statements_as_strings_or_chunks_needed_to_make_expression_valid) 13:26
Kristien and I want to focus less on ES interop and more on sanity
pmurias: my current compiler has two functions: one to generate statmeents and one to generate an expression
which one is used depends on context
if something can only be compiled to a statement and an expression is expected, it's put in an IIFE 13:27
(e.g. throw and switch)
pmurias IIFE?
Kristien immiediately-invoked function expression
you can use that to turn statements into expressions
vendethiel *sometimes*
13:27 yqt joined
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
and also, generators 13:28
Kristien Good thing LasagnaScript has neither return statements nor generators.
vendethiel well, compiling with "yield* IIFE" *should* work
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
Kristien I still have to design the whole interop stuff 13:32
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:34
Kristien how does nqp-js do stuff like Int? 13:35
pmurias what do you mean by that?
Kristien well rather, uint32
e.g. integer arithmetic and overflow stuff 13:36
JS has only floats so you have to use bitwise operations on integers
pmurias that's what I use
Kristien nice
pmurias I currently have int32 only 13:37
nqp doesn't expose uint32
Kristien OK
dalek ecs/coerce-multi: b994904 | hoelzro++ | S13-overloading.pod:
Document COERCE
pmurias having 64bit integers is a harder problem
13:37 sqirrel joined
hoelzro ok, I have implementation, tests, and specs for COERCE in the coerce-multi branch on the various repos 13:37
what's the next step to getting this accepted/rejected into the current spec? 13:38
pmurias Kristien: the exact code for something like adding two integers is pastie.org/9868250 13:39
13:40 DieGraueEminenz joined
Kristien m: my uint $x = 0; $x = $x - 1; say $x 13:41
camelia rakudo-moar 9f1544: OUTPUT«-1␤»
vendethiel obviously...
Kristien :V
13:43 brrt joined
pmurias bbl& # job interview for what I fear might be a php job :( 13:43
Kristien PHP is nice.
vendethiel :( 13:44
brrt Kristien - that's one of those things you're going to find a lot of people disagreeing with 13:47
:-P
Kristien What is?
brrt php's niceness
Kristien Oh :P
I wish I were competent enough to implement a static type system.
brrt php is effective, *if* your program is a CGI-style form-to-database CRUD 13:48
13:48 DarthGandalf left
brrt otherwise, it's horrible 13:48
14:00 Kristien left 14:01 dayangkun joined
nwc10 pmurias: I'm curious - where in the world are you? 14:02
(To be clear, I'm not hiring, nor am I asking "for a friend")
[and this is not because I have no friends :-)] 14:03
14:04 salv0 left, salv0 joined 14:06 Kristien joined 14:07 go|dfish left
brrt how many qualifications do you need for a question :-) 14:08
anyway, last year the perl devroom was quite full
14:09 _4d47 joined
moritz nwc10: where on the planet are you that you're *not* hiring? :-) 14:09
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
and also, there's no space for any more warm bodies
14:12 rindolf joined 14:16 darutoko- joined 14:17 darutoko left
Kristien hzhou321: there are no integers. 14:19
hzhou321 Kristien: I thought you were implementing integer types in Javascript
14:25 [Sno] left
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:26
14:26 kaleem joined 14:28 Sqirrel_ joined 14:30 raiph joined
timotimo andreoss: there are many more in microbenchmarks.pl 14:34
andreoss thanks 14:39
timotimo: if I need to generate some auxiliary input where I place it 14:40
moritz andreoss: can't you put into a heredoc? 14:41
14:41 lestrrat left
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.
moritz andreoss: but you assume that reading from disc is faster than generating random ints?
14:44 lestrrat joined 14:45 sqirrel left
andreoss % seq 1 100000 | time perl -ne '' 14:48
0.02user 0.00system 0:00.02elapsed 87%CPU (0avgtext+0avgdata 3948maxresident)k
0inputs+0outputs (0major+174minor)pagefaults 0swaps
'~/src/perl6-bench' (master % u=)
% seq 1 100000 | time perl6 -ne ''
15.73user 0.22system 0:17.28elapsed 92%CPU (0avgtext+0avgdata 196208maxresident)k
39896inputs+0outputs (159major+44841minor)pagefaults 0swaps
moritz: i guess it should be a separated benchmark case 14:49
moritz andreoss: aye 14:51
andreoss: the you should add -CS to the perl 5 benchmark
andreoss: because Perl 6 also decodes the UTF-8, which the perl 5 doesn't do as-is 14:52
14:52 kaleem left
Kristien m: my uint8 $x = 255; $x += 1; say $x; 14:53
camelia rakudo-moar 9f1544: OUTPUT«256␤»
andreoss moritz: what's -CS? 14:54
Kristien m: my uint32 $x = 2**32-1; $x += 1; say $x;
camelia rakudo-moar 9f1544: OUTPUT«4294967296␤»
andreoss % seq 1 100000 | time perl -Mopen=":std,:encoding(utf-8)" -ne 'utf8::decode $_' 14:55
0.07user 0.00system 0:00.08elapsed 85%CPU (0avgtext+0avgdata 5600maxresident)k
14:57 lestrrat left 15:05 Kristien left 15:06 lestrrat joined 15:07 kaleem joined, fwilson left, molaf joined 15:11 Woodi joined 15:13 sqirrel joined 15:14 kurahaupo left 15:16 kaleem left, gfldex joined 15:17 lestrrat left 15:21 lestrrat joined 15:22 dayangkun left
rjbs- So, what's going on on FOSDEM Friday? :) 15:25
15:26 Rounin left, lestrrat left
tadzik slide hacking... :P 15:26
15:27 fwilson joined 15:28 lestrrat joined 15:29 kaleem joined
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
tadzik moritz: I wouldn't know :P 15:31
15:32 abraxxa left, Kristien joined 15:33 rjbs- is now known as rjbs, rjbs left, rjbs joined 15:36 lestrrat left
FROGGS andreoss: does that cover your bug? github.com/parrot/parrot/issues?q=...s%3Aclosed 15:37
15:38 yqt left 15:40 brrt left 15:44 lestrrat joined 15:47 kaleem left 15:48 mr-foobar joined 15:51 Kristien left 15:53 lestrrat left 15:56 telex left 15:58 telex joined 15:59 lestrrat joined
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:04
may be i'm doing something wrong 16:05
PerlJam "build master"? You mean "nom", right? 16:07
FROGGS andreoss: can you gist your build commands? 16:08
16:09 andreoss_ joined 16:10 andreoss left, sqirrel__ joined 16:13 Mouq joined, AndChat-458964 joined
andreoss_ PerlJam: what branch comes from just cloning repo? 16:13
dalek p: 3766c15 | Mouq++ | Configure.pl:
Correct --git-reference doc, mj41++
16:14
16:14 sqirrel left
dalek kudo/nom: 21265fc | Mouq++ | Configure.pl:
Correct --git-reference doc, mj41++
16:14
16:14 Sqirrel_ left 16:16 raiph left
PerlJam andreoss_: pretty sure you get nom by default. 16:18
(unless the universe has shifted and I didn't notice :) 16:19
16:20 lestrrat left 16:22 raiph joined 16:25 lestrrat joined, sqirrel__ left
masak you get nom by default. 16:28
16:28 sqirrel__ joined 16:29 spider-mario joined 16:31 andreoss_ left, profan left 16:32 lestrrat left, profan joined
Mouq What's buggy about RT #68572 ? 16:35
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=68572
Mouq m: role A { class B {} }
camelia ( no output )
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:36
16:37 lestrrat joined
PerlJam Mouq: S12:106 16:38
synopsebot Link: perlcabal.org/syn/S12.html#line_106
Mouq Oh! Idk why I thought class was automatically my. PerlJam++ 16:39
PerlJam Mouq: probably because P6 leans heavily on lexicals :)
Mouq True :) 16:40
raydiak good morning #perl6 o/ 16:43
16:43 zakharyas left
hoelzro o/ raydiak 16:44
raydiak hi hoelzro how goes it? 16:45
16:47 [Sno] joined
japhb .ask andreoss Do you still need help creating your perl6-bench test? 16:48
yoleaux japhb: I'll pass your message to andreoss.
hoelzro it's going alright; how about yourself? 16:49
dalek kudo/nom: 358d1d9 | Mouq++ | src/Perl6/Grammar.nqp:
[Pod] Allow indented code blocks to contain blank lines, moritz++

Previously, this code would produce two code blocks, where one was preferred:
   =begin pod
   Here's our Foo role:
   role Foo {
   has $.bar;
   method baz { ... }
   }
   =end pod
ast: 88d0e1e | Mouq++ | S26-documentation/04-code.t:
Add test that indented code blocks span blank lines
16:52 AndChat-458964 left
raydiak I'm currently treading water somewhere between "not bad" and "pretty good" :) 16:52
16:53 Sqirrel joined
tadzik hmm. If I do 'my $b = 5', $b is a Scalar. How do I get to that Scalar? 16:53
raydiak is that what VAR does? 16:54
m: my $b = 5; say $b.VAR
camelia rakudo-moar 9f1544: OUTPUT«5␤»
tadzik indeed
raydiak m: my $b = 5; say VAR($b).WHAT
camelia rakudo-moar 9f1544: OUTPUT«(Scalar)␤»
tadzik $b.VAR.WHAT.say... exactly :)
thanks raydiak
raydiak yw :) 16:55
pmurias nwc10: Poland, Wrocław, don't have strong ties to that place that would keep me from relocating
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 ?
PerlJam _4d47: it's just a subroutine reference as always. 16:58
16:59 go|dfish joined, kjs_ joined
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:02
17:03 lestrrat left
raydiak m: class Foo { method bar () {} }; say Foo.^lookup('bar').perl 17:03
camelia rakudo-moar 9f1544: OUTPUT«method bar (Foo $: *%_) { #`(Method|73166136) ... }␤»
_4d47 PerlJam: dont know how, eg `class A { meth d m { ...} }` raydiak: aah thx :) was trying things like Foo::&bar 17:06
17:06 Kristien joined
Kristien hi 17:06
gfldex m: class A { our method m1(){} }; my $o = A.new(); say (&A::m1).WHAT; 17:07
camelia rakudo-moar 9f1544: OUTPUT«(Method)␤»
raydiak _4d47: np :) that will still work if you use "our method"
gfldex++
17:08 rurban_ left, lestrrat joined 17:09 [Tux] left
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␤␤»
gfldex m: class A { our method m1(){ say 'oi!' } }; my $o = A.new(); (&A::m1)($o:); 17:10
camelia rakudo-moar 9f1544: OUTPUT«===SORRY!=== Error while compiling /tmp/eGQcBU5o2p␤Invocant colon not allowed here␤at /tmp/eGQcBU5o2p:1␤------> 'oi!' } }; my $o = A.new(); (&A::m1)($o:⏏);␤»
raydiak m: class A { our method m1(){ say 'oi!' } }; my $o = A.new(); (&A::m1)($o);
camelia rakudo-moar 9f1544: OUTPUT«oi!␤»
17:14 [Tux] joined
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
what to name it?
17:17 fhelmberger left 17:20 FROGGS left
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
japhb And is it output only?
raydiak for now 17:22
Kristien raydiak: call it PN6
japhb Oh dear.
17:22 lestrrat left
raydiak heh :) 17:22
japhb Image::PNG::PP? 17:23
or Image::PNG::Writer::PP?
raydiak it does rely on Compress::Zlib, though
japhb Maybe just Image::PNG::Writer then
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
japhb I guess the p5 version actually capitalizes the L 17:25
zlib is really, really portable. Whether our binding to that is as portable is another question.
17:25 Rounin joined
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:26
17:27 lestrrat joined
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.
raydiak true 17:31
how does Image::PNG::Portable sound? non-commital, but at least conveys the intent 17:33
17:34 lestrrat left 17:38 perl6_newbe joined
perl6_newbe Hi guys. 17:38
raydiak hello perl6_newbe
17:39 lestrrat joined
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 [Sno] left
Mouq perl6_newbe: Try rename? 17:40
raydiak perl6_newbe: design.perl6.org/S32/IO.html might help 17:41
Mouq raydiak: It looks like move() is NYI, however 17:42
Or .move or whatever
raydiak ah...then copy and unlink? 17:43
if rename fails, I mean
jdv79 not automagically if that's what you mean
rename/move is atomic 17:44
raydiak no, I meant as a workaround
Mouq m: nqp::move
camelia rakudo-moar 358d1d: OUTPUT«===SORRY!===␤No registered operation handler for 'move'␤»
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
perl6_newbe Try copy and unlink
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.
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
wow I'm like 10 seconds behind everyone today :)
jdv79 so 2 options but nothing great yet
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
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:47
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:48
Kristien something from the previous millenium, when things were still sane 17:53
17:54 kurahaupo left
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 17:56
17:56 lestrrat left 18:00 dakkar left
raydiak you're welcome perl6_newbe...good luck! 18:00
Mouq perl6_newbe: \o/ I'll file a bug report for missing .move method if one isn't already in 18:02
18:03 [Sno] joined
dalek kudo/nom: 5275eb9 | Mouq++ | src/core/array_slice.pm:
Fix @a[0;0] autoviv
18:04
18:04 sqirrel__ left 18:05 lestrrat joined
skids Wait, we have multidim now? When did that happen? 18:06
moritz skids: gradually. And we only have it partially right now
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
camelia rakudo-moar 358d1d: OUTPUT«Array.new()␤»
skids Hah. OK.
raydiak m: my @a = [^3],[^3]; @a[0;0] = 1; @a.perl.say
camelia rakudo-moar 358d1d: OUTPUT«Array.new([1, 1, 2], [0, 1, 2])␤»
18:10 lestrrat left 18:11 kjs_ left 18:13 araujo left
dalek kudo/nom: 166cd3c | Mouq++ | src/core/hash_slice.pm:
Fix %h{<foo>;<bar>} autoviv while we're at it :P
18:13
18:14 araujo joined, lestrrat joined
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:16
perl6_newbe THX Mouq. I guess move is mentioned in the spec IO 18:18
18:19 lestrrat left
perl6_newbe S32::IO. However, would be great as feature request ^^ 18:19
Kristien I'm going to write my compiler in Perl 6!
moritz _Ù'A 18:20
*'
dalek ast: d3e4994 | Mouq++ | S09-autovivification/autovivification.t:
Test for autovivification on multidim access
18:21 Mso150 joined, beastd joined
Mouq Kristien: :D Perl 6 grammars rock 18:21
Kristien yeah
moritz sorry, small one captured the keyboard 18:22
raydiak that one just can't wait to be old enough to hang out in #perl6, eh? :) 18:23
moritz seems like :-)
raydiak
.oO( can't even type and already practicing Whatever stars and balanced quoting )
18:24
18:24 lestrrat joined
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?
vendethiel wow, niecza's core.setting is... confusing 18:28
18:29 lestrrat left
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
camelia rakudo-moar 358d1d: OUTPUT«2␤»
moritz raydiak: I've patched several bugs in unpack while trying to document it
skids m: buf8.new(511 X+> (8,0)).values.say 18:31
camelia rakudo-moar 358d1d: OUTPUT«1 255␤»
moritz raydiak: but that one case might actually be implemented :-)
raydiak ah, true enough...thanks :) I'll give it a shot
18:33 lestrrat joined
Mouq m: pack("n", 511).values.say 18:37
camelia rakudo-moar 5275eb: OUTPUT«1 255␤»
18:40 rurban_ joined 18:41 Sqirrel left, Sqirrel joined
raydiak thanks Mouq :) 18:41
and somehow I overlooked skids++ answer, which is clever b/c somehow I never thought to use X or Z w/bitops 18:42
18:45 abraxxa joined
raydiak notices pack missing from doc.perl6.org/type/Str 18:46
18:46 dwarring joined
Mouq would probably have it be alonside unpack in doc.perl6.org/type/Buf 18:48
Err
* doc.perl6.org/type/Blob ? 18:49
18:49 virtualsue left
Mouq doesn't admit to understanding the Buf/Blob mess 18:50
18:52 abraxxa left
masak raydiak: maybe submit a github issue? 18:52
hm, there's a `pack` sub in the setting, but no `pack` method? 18:54
18:54 Mouq left 18:55 perl6_newbe left 18:58 _4d47 left, xfix left 18:59 kjs_ joined, lestrrat left 19:00 Mouq joined
Mouq masak: Already a GH issue :P 19:01
19:02 rindolf left 19:03 brrt joined, FROGGS joined, brrt left
dalek ast: 6e074b0 | (David Warring [email@hidden.address] | integration/weird-errors.t:
added test for RT #123686 multi sub with where clause + temp stress

Fudged on rakudo.moar
19:04
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123686
19:05 abraxxa joined, lestrrat joined 19:06 Kristien left 19:11 Woodi left
skids Buf/Blob is not much of a mess anymore, IMO. 19:17
19:19 lsm-desktop joined, bronco_creek joined
bronco_creek o/ p6 19:20
masak \o
bronco_creek Is there a union operator for SetHash objects? 19:21
I see operators for membership, intersection, and xor, but not union.
19:23 Mouq left
raydiak does ∪ do what you want? or maybe SetHash.new(|%a, |%b) ? 19:32
19:37 lestrrat left 19:41 go|dfish left 19:42 lestrrat joined
bronco_creek raydak: Thanks, I didn't see u documented, but I'll give it a try. 19:44
raydiak: BTW, how do you type unicode chars? 19:45
jercos with a unicode keyboard :p
(it depends on your OS, and sometimes what character you want to type)
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 »
to get* rather
bronco_creek jercos: Thanks, I'll try than at home on my ubuntu system. 19:47
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.
☃ for example
(there's no man like a snowman)
19:49 go|dfish joined
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.)
gfldex i just googled "unicode keyboard" came to the conclusion that Perl 6 will create a sizeable market gap
is there anything Perl 6 cant do? :->
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.
timotimo it seems like rakudo-moarvm is extremely slow at deep_scan_for_interpolated_string_var
jercos ☂ ☁ ☀
timotimo 247.0x slower than rakudo-jvm; rakudo-parrot on the other hand is only 5x slower than rakudo-jvm
jercos world.std.com/~jdostale/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
raydiak jercos: no no only like half of them, we leave the other half for you to define with sub infix:<> 19:52
jercos haha, fair enough 19:53
raydiak :)
19:55 Kristien joined
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. 19:55
moritz bronco_creek: you could be that person 20:01
bronco_creek: if you tell my your github ID, I'll give you direct access
PerlJam moritz++
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
bronco_creek lizmat: Thanks. 20:05
moritz bronco_creek: I'll help you if I can
20:06 xfix joined
skids m: my $a = Proxy.new( FETCH => { "FETCH".say }, STORE => { "STORE".say } ); 20:06
camelia rakudo-moar 166cd3: OUTPUT«FETCH␤»
skids m: my $a := Proxy.new( FETCH => { "FETCH".say }, STORE => { "STORE".say } );
camelia rakudo-moar 166cd3: OUTPUT«FETCH␤FETCH␤»
20:07 raiph left
skids scratches head 20:07
moritz skids: one of them will be for evaluating the last statement in sink context 20:11
in fact, both
it does a .can('sink')
lizmat m: my $a = Proxy.new( FETCH => { "FETCH".say }, STORE => { "STORE".say } ); 1
camelia rakudo-moar 166cd3: OUTPUT«FETCH␤»
lizmat m: my $a := Proxy.new( FETCH => { "FETCH".say }, STORE => { "STORE".say } ); 1
camelia ( no output )
20:11 Rounin left
moritz oh, and one for the type check, presumably 20:11
at least for assignment
masak we should totally have a FAQ page somewhere called "how do you type Unicode characters?" 20:12
moritz masak: write it! github.com/perl6/faq/
lizmat if I know the name, I frequently use .u NAME on yoleaux and copy/paste :-) 20:13
.u SNOWMAN
yoleaux U+2603 SNOWMAN [So] (☃)
moritz lizmat: there's also 'cpanm App::Uni' :-)
masak moritz: I can already see that my focus currently is too fragile and distractable right now to actually write such a page.
PerlJam still doesn't know how to type the unicode "newline" character on his keyboard 20:14
20:14 darutoko- left
masak but I was hoping I could trigger a #perl6 discussion on it :) 20:14
I use `uni` (App::Uni) a lot, like moritz++ said.
bronco_creek moritz: I've created a github account with username bronco-creek (note the dash - not the underscore)
20:15 raiph joined
moritz bronco_creek: invitation sent. You should get an e-mail with a link that allows you to join the organization 20:15
bronco_creek: github.com/perl6/doc/ is where all the fun is
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)
moritz usually relies on vim digraphs 20:16
masak when I used Emacs more frequently, I used LEIM, which is great.
PerlJam moritz: me too
masak and then there's vim's ^K, yes.
maybe irssi macros can produce Unicode characters. probably.
bronco_creek moritz: Thanks. I'll check in here if/when I make any changes. Or maybe there is some automated notification?
20:17 raiph left
moritz bronco_creek: we get commit messages reported by a bot here 20:17
bronco_creek: and github also has notifications
20:17 kjs_ left
bronco_creek moritz: OK. Good to know. 20:17
dalek c: e68289c | moritz++ | TODO:
remove done items from TODO file
20:20
moritz bronco_creek: like this: ^^
dalek Heuristic branch merge: pushed 18 commits to rakudo/newio by lizmat 20:22
20:22 [Sno] left
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
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.
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/
camelia rakudo-moar 166cd3: OUTPUT«Buf[uint8].new(4, 2)␤Buf[uint8].new(255)␤»
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\
camelia rakudo-moar 166cd3: OUTPUT«Buf[uint8].new(255, 2)␤Buf[uint8].new(4)␤»
20:33 andreoss joined, pdcawley left 20:34 bjz left
pmurias masak: what editor do you use now? 20:34
vendethiel pmurias: vim :p 20:35
vendethiel started showing vim after seeing lizmat++, cognominal++ and so many others use it at fpw14 :)
pmurias showing vim? 20:36
tony-o_ :wq
hugme hugs tony-o_, good vi(m) user!
vendethiel pmurias: using vim. whoops! 20:37
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 :(
pmurias ideslaves?
vendethiel pmurias: have you tried neovim? I've heard it's got good support for linters/compilers/etc
pmurias not yet 20:39
vendethiel pmurias: I call "ideslave" the bridge a compiler might expose for an IDE/editor
20:39 bronco_creek left 20:43 espadrine left
dalek kudo/newio: e02630e | lizmat++ | src/core/Exception.pm:
Add X::IO::Move exception
20:46
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
masak pmurias: I'm on vim, mostly out of sheer habit. 20:50
pmurias: I do like Emacs, though. I actually prefer it for prose (and vim for code), but sometimes I forget to switch.
20:51 andreoss left
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
20:52 silug joined
geekosaur uses both 20:54
jnthn laughs 20:55
uh
jnthn laughs at the silly fighting and just uses Notepad++ :D
pmurias was once shocked when he saw jnthn use the windows dos-style command line ;)
jnthn Old habbits die hard... :) 20:56
20:58 konsolebox joined
colomon These days I hate Windows, but I still can’t imagine using it without a command-line. 20:58
pmurias jnthn: have you seen my setboolspec question? 21:00
jnthn pmurias: Uh, no, I musta missed it...
jnthn spent the day doing airports, planes, trains, all while recovering from food poisoning, or whatever it was... 21:01
With a transport strike thrown in for good measure.
FROGGS hehe
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?
jnthn: doesn't seem very fun 21:02
jnthn No, it wasn't... Hope to be
argh
Hope to be on better form by FOSDEM :)
Did you check if it's done as the default on all backends?
I think originally I didn't have any kind of defaulting there. 21:03
21:03 lestrrat left, DieGraueEminenz left
jnthn If it's consistenly defaulting to that everywhere by now, we can drop them. 21:03
(And if it isn't, I'm up for making it default to it everywhere.) 21:04
21:04 Mso150 left 21:05 burnersk left, _sri left
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:06 nyuszika7h left 21:07 _sri joined, avarab joined, burnersk joined 21:08 lestrrat joined 21:09 espadrine joined, avar left
Kristien The only language I can read code in without syntax highlighting is Go. 21:10
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
21:11 konsolebox left
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...
xfix And Perl 5 is not Perl 6.
jnthn FROGGS: Yeah, but...what xfix said :)
FROGGS and Notepad++ is what I use too when I am on windows (and SciTE on linux)
vendethiel xfix: actually, I prefer a poor syntax hl than none
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, broquaint left
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
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.
jnthn On Linux, or during my occasional trip to OSX land to debug stuff, I typically use Vim :)
xfix While you are writting a grammar.
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
FROGGS vendethiel: well, / '/' / does not highlight well either :o)
xfix But that isn't even an issue. My text editor interprets stuff `s` as start of regular expression.
pyrimidine Inline
vendethiel no, but {'/'} does 21:15
pyrimidine bah
Inline seems to be broken: smoke.perl6.org/project/Inline
FROGGS hmmm
lemme check
xfix rule { something something something s? } # nope, sees beginning of pattern replacement here
pyrimidine gist.github.com/cjfields/62ec00ccf109a385e199 21:16
FROGGS: ^^
xfix Not to say, it bothers me seeing some keywords highlighted, and some not.
21:16 pierrot left
FROGGS pyrimidine: that does not make any sense 21:17
FROGGS scratches his head
pyrimidine FROGGS: I found this when trying to install Compress::Zlib::Raw via panda 21:18
==> Testing Inline
Too many positionals passed; expected 2 arguments but got 3
in method postcircumfix:<( )> at /Users/cjfields/bioperl/bioperl6/.panda-work/1422479597_1/lib/Inline/C.pm:18
in block <unit> at t/c.t:18
t/c.t ..
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 1/1 subtests
moritz FROGGS: hoelzro++ changed the signature that postcircumfix:<( )> needs
pyrimidine Test Summary Report
-------------------
t/c.t (Wstat: 65280 Tests: 0 Failed: 0)
Non-zero exit status: 255
FROGGS O.o
pyrimidine Parse errors: Bad plan. You planned 1 tests but ran 0.
Files=1, Tests=0, 1 wallclock secs ( 0.02 usr 0.00 sys + 0.46 cusr 0.05 csys = 0.53 CPU)
moritz pyrimidine: please don't post so much mere
pyrimidine Result: FAIL
test stage failed for Inline: Tests failed
21:18 xfix left
pyrimidine in method install at lib/Panda.pm:124 21:18
in block at lib/Panda.pm:1
in method resolve at lib/Panda.pm:183
timotimo please don't do that :(
pyrimidine in sub MAIN at /Users/cjfields/src/rakudo/install/languages/perl6/site/bin/panda:20
in sub MAIN at /Users/cjfields/src/rakudo/install/languages/perl6/site/bin/panda:18
in block <unit> at /Users/cjfields/src/rakudo/install/languages/perl6/site/bin/panda:69
Failure Summary
FROGGS ENUFF!
pyrimidine ----------------
Compress::Zlib::Raw 21:19
*test stage failed for Inline: Tests failed
Bah (again)
moritz: sorry, that was supposed to gist
21:19 pierrot joined
moritz FROGGS: postcircumfix:<( )> now gets the actual arguments like any routine, not a capture as a single argument 21:19
21:20 avarab is now known as avar
FROGGS moritz: I think I see 21:20
dalek kudo/newio: 809e9c9 | lizmat++ | src/core/IO.pm:
Implement MOVE-PATH helper sub
21:21
pmurias jnthn: why have both die and die_s when both of them take a string? 21:23
ahh it's parrot shenigans 21:24
FROGGS QAST::MASTOperations.add_core_moarop_mapping('die', 'die');
QAST::MASTOperations.add_core_moarop_mapping('die_s', 'die');
I'd propose you do the same as moar here :o)
pmurias * shenanigans 21:25
jnthn "historical reasons"
:)
pmurias FROGGS: jvm also handles them exactly the same
parrot-- handles them differently
FROGGS jnthn: when do you arrive in Brussels? 21:26
psch o/
jnthn FROGGS: Friday, 1pm 21:27
psch **ptr with NativeCall was somehow with a CArray around a CPtr, do i remember that right?
pmurias we should have some nqp technical debt file
FROGGS jnthn: I guess I'll be there at 10am
dalek osystem: d706cd3 | raydiak++ | META.list:
Add Image::PNG::Portable to META.list
arnsholt psch: Yup
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?
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
lizmat FROGGS: the booth will be prepped on Sat morning
psch thanks arnsholt++
lizmat I believe we have access to the building from 8am
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.
FROGGS lizmat: ahh, okay, I'll be there :o) 21:29
lizmat ah, correction: apparently it's officially at 9am that we have access
FROGGS though, in case Brussels is not extra exciting I might go straight for the hotel and find a place to sit comfortable :D
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...
lizmat we did that today and got completely rained out and blown away at some places
jnthn Thanks to being ill the last days, I've still a lot to do with preparing my talk.
lizmat at least the Atomium was dry on the inside 21:31
jnthn So I'll probably be hiding away much of Friday.
muraiki masak: if you figure out how to do that, I'd be interested in seeing it :)
masak hm, the spec on `rmdir($path)` is a little skinny. how do I recursively remove a directory in Perl 6?
muraiki: got it. I'll let you know.
FROGGS masak: also, how to do mkdir -p? 21:32
Juerd masak: system <<rm -rf "$path">>? ;-)
jnthn masak: Somebody added a Tag module to the ecosystem the other day that may be useful for the generating part.
masak Juerd: we don't have `system`. we have `shell` and we have `run`.
21:32 telex left
masak Juerd: but yes, I just did a `shell`. 21:33
Juerd masak: Why shell, not run?
masak jnthn: I will check it out. but I suspect I will end up not using it, when I can do .subst
Juerd: because I've never really learned the difference :P
21:34 telex joined
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.
masak Juerd: and I don't need that here, since I have a constant string as my command.
Juerd Roughly, sub shell { run 'sh', '-c', @_ } 21:35
iirc
Or @_[0] even
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
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.
lizmat masak: but that's only 1 level
masak vendethiel: I'll check it out -- thanks.
lizmat masak: rmpath() would be the recursive version, I guess
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
FROGGS pyrimidine: np 21:39
masak lizmat: ok, I see. 21:40
Template::Mojo looks like it could simplify my life, actually. vendethiel++ tadzik++
vendethiel tadzik++
21:40 rurban_ left
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
* it installs without a hitch
\o/
vendethiel \o/
FROGGS of course :o) 21:43
masak FROGGS: any reason using binding `:=` there is important?
(I got test failures in DBIish while rebootstrapping, though)
FROGGS masak: so you don't run the .code
masak oh, it's because NativeCall fails. 21:44
timotimo do we perhaps want to move rakudo.org onto www.p6c.org?
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␤»
masak aha.
FROGGS masak: I'd seen this: Native call expected object with CPointer representation, but got something else
masak m: class Mojo { has &.code = sub { say "OH HAI" } }; my &main = Mojo.new.code; main()
camelia rakudo-moar 166cd3: OUTPUT«OH HAI␤»
FROGGS masak: and then pulled and rebuild moar+nqp+rakudo
masak FROGGS: seems to work even without the binding ^ 21:46
FROGGS: yes, that's the NativeCall error I'm getting.
FROGGS hmmm, perhaps a thinko from my side
masak pulling and rebuilding worked? I might try that, then.
though it's not on my critical path right now.
21:46 grondilu joined
grondilu Is Laurent Rosenfeld, author of laurent-rosenfeld.developpez.com/tu...es-bases/, around here? 21:47
FROGGS rebuilding + rebootstrapping did it, aye
timotimo hm, it should be very possible to actually output the kind of representation it got rather than just "got something else"
masak tadzik: Template::Mojo doesn't have a USAGE example in the README >:(
21:48 broquaint left
FROGGS masak: reverse engineering ftw /o/ 21:49
timotimo: that would be very very sweet 21:50
pyrimidine masak: on the subject of documentation...
I have seen more .md files, and little pod6. So, is the current recommendation to use md or pod6
?
21:51 lestrrat left
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
pyrimidine FROGGS: kinda my line of thought as well. now we just need to get a pandoc converter for pod6 <-> markdown :)
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.
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
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
timotimo: hmmm, that's not so easy
21:55 lestrrat joined
FROGGS timotimo: perhaps... 21:56
timotimo do you have code locally that does it? like right now?
in that case i'll shoot you th epatch and we'll see if it behaves better
Kristien What's the relationship between source files, modules and module … { … }?
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
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
FROGGS timotimo: and it showed up in its tests
timotimo FROGGS: can you copy-paste the little command line that is on sprunge.us ?
pyrimidine MMD == multimarkdown in this case (and only if we need it :) 21:58
FROGGS timotimo: this? <command> | curl -F 'sprunge=<-' sprunge.us
timotimo thanks 22:01
raydiak Kristien: the explanation of compunits and modules in S11 might be useful to you
Kristien OK
pyrimidine FROGGS++ # Inline fix worked 22:04
vendethiel ...or maybe not raydiak
I found S11 to be one of the most confusing synopses
timotimo FROGGS: sprunge.us/FJPL 22:05
22:06 lestrrat left
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
22:07 Mso150 left
FROGGS woolfy: I aim for the same then :o) 22:07
woolfy FROGGS++
FROGGS \o/ FOSDEM \o/
22:08 Mso150 joined
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:08
anyway...nebulous question gets nebulous answer :) 22:09
woolfy We will probably have snow at FOSDEM...
22:11 lestrrat joined, mvuets left 22:12 grondilu left
FROGGS timotimo: nearly there nearly there 22:12
pmurias a metacpan6 that show pod6 nicely >>>> github
22:13 woolfy left
dalek kudo/newio: 7d1fc3d | lizmat++ | src/core/IO.pm:
Make MOVE-PATH put file in dir if dest is dir
22:13
kudo/newio: af96db1 | lizmat++ | src/core/IO/Pathy.pm:
Rename the abspath of object itself as well
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?
FROGGS timotimo++
Failed 17/20 subtests
Native call expected return type with CPointer representation, but got P6opaque
timotimo: though, can you call it "but got a %s" ?
pmurias Kristien: objects created at compile time get serialized 22:15
Kristien OK, cool.
pmurias Kristien: currently only nqp-js exists
22:15 woolfy1 joined
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...
FROGGS psch: is it a server? 22:19
22:21 spider-mario left 22:22 pierrot is now known as Canopus, Mso150 left
psch FROGGS: no, it was an unitialized library... :) 22:22
the 8 devices i get now seems more sensible 22:23
22:23 konsolebox left
FROGGS psch: what library ooc? 22:23
psch FROGGS: portaudio
FROGGS ahh :o)
22:23 Canopus is now known as pierrot
psch FROGGS: i'm stuck starting the stream though, portaudio says opening worked, but starting afterwards doesn't 22:23
22:23 lestrrat left 22:24 virtualsue joined
psch and "Invalid Stream pointer" doesn't quite tell me what i want to know... :s 22:24
FROGGS psch: you pass it a PaStream **stream? 22:26
psch FROGGS: i pass it a CArray[OpaquePointer]
github.com/peschwa/Audio-PortAudio...er/test.pl
vendethiel cringes at "isomorphic javascript" in netflix's blog post about react :( 22:27
woolfy: I'm jealous! we didn't get any snow in paris :(
psch FROGGS: and lib/Audio/PortAudio.pm in the same repo of course
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
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:29
vendethiel purest of high-level theory? 22:30
dalek ecs/newio: d25d464 | lizmat++ | S16-io.pod:
Spec rmpath() and elaborate a bit on move()/.move
22:31
lizmat and on that thought, I wish #perl6 a good night 22:32
psch g'night lizmat 22:33
masak 'night, lizmat 22:34
vendethiel g'night :) 22:35
FROGGS gnight lizmat
psch: I cannot install libportaudio so I cannot test :o(
22:35 konsolebox joined
psch FROGGS: no worries, i might figure it out eventually :) 22:37
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:38
psch no such luck, Pa_StartStream still fails 22:42
22:45 kyclark_ joined
FROGGS Pa_StartStream (PaStream *stream) 22:46
does $stream[0] help there?
psch: ? 22:47
psch FROGGS: yes, that does it!
FROGGS \o/
psch apparently i need to relearn about references in C :)
FROGGS++
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…»
Kristien psch: good thing C has no references
FROGGS psch: you just need to learn to carefully re-read the docs (or header files) at that point :o)
psch Kristien: what's the difference between a reference and a pointer?
Kristien: and why does C have a "dereference operator" when it doesn't have references? 22:49
FROGGS m: sub f { nqp::getlexcaller('RETURN')(42) }; sub g { f; say "hi" }; say g 22:50
camelia rakudo-moar 166cd3: OUTPUT«42␤»
psch FROGGS: yes, that probably would've helped as well. the concept still isn't firm in my head though, i think
jnthn You call it a pointer when your program crashes and a reference when it works.
That's why Java has references, except when you dereference a null one, and then you get a NullPointerException.
Kristien It's difficult to explain without examples. 22:51
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
jnthn: is that about right?
Kristien psch do you know C#? 22:56
vendethiel :P
gfldex a reference can point beyond the end of the stack if you goto between functions
Kristien references are like ref and out in C#. pointers are like Object in C#
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?
psch Kristien: no, i don't know C# 22:58
Kristien :v
gfldex Kristien: native typed arrays i guess, one of the 3 things on The List Before Christmas
Kristien what languages do you know?
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...
psch vendethiel: yes, i met the loop behavior 23:00
Kristien PHP has references with &
vendethiel it's nothing like what C has
php even used to have call-time pass by reference...
Kristien for example: ideone.com/BRa2zn
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
Kristien they're more like aliases
or immutable pointers with implicit dereferencing
vendethiel looks more like C++'s references
Kristien compare with non-reference: ideone.com/Lab4I4 23:02
FROGGS raydiak: you could perhaps try to nativecast your blob to a CArray 23:03
Kristien or: ideone.com/BUm8HJ 23:04
jnthn I think we should be able to pass Buf/Blob/native arrays off to NativeCall
raydiak jnthn: should as in "should work" or should as in NYI? 23:06
FROGGS++: thanks I'll have to learn about that :) 23:07
psch Kristien: thanks for the example, but i don't really know what i'm supposed to see there 23:08
jnthn raydiak: NYI
Kristien you can't do that with pointers.
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
and not references
...?
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:10
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:11
23:11 beastd left 23:14 adu joined
adu hi 23:14
FROGGS gnight
23:14 FROGGS left
raydiak hi adu 23:15
adu hi raydiak
23:15 Kristien left
psch hi adu 23:15
adu hey psch
23:16 thilp joined
masak 'night, #perl6 23:18
raydiak g'night masak o/
ab5tract wonders how he only now just stumbled across www.dlugosz.com/Perl6/index.html
psch g'night masak 23:19
23:19 jferrero left
ab5tract night masak!] 23:19
23:25 jferrero joined 23:28 lestrrat left
dalek kudo-star-daily: d6f3f4f | coke++ | log/ (9 files):
today (automated commit)
23:28
rl6-roast-data: 7f8244f | coke++ | / (5 files):
today (automated commit)
23:31 lestrrat joined
adu why is everyone going to sleep? 23:32
raydiak cuz...it's late! 23:33
(in europe)
23:33 virtualsue left 23:36 lestrrat left
thilp could someone please explain me why: do { my $a = DYNAMIC::<$*d>:exists; my $*d = 2; $a } is True? 23:38
why does $*d exists before it is defined? Is it something related to the various compilation phases?
23:39 gfldex left, araujo left 23:40 lestrrat joined
psch m: BEGIN say DYNAMIC::<$*d>:exists; INIT say DYNAMIC::<$*d>:exists; my $*d; 23:41
camelia rakudo-moar 166cd3: OUTPUT«False␤True␤»
jnthn Existence and definedness mean different things in Perl 6, for one
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
When you write DYNAMIC:: you're explicitly putting resolution of the name off until runtime.
m: say $a; my $a;
camelia rakudo-moar 166cd3: OUTPUT«===SORRY!=== Error while compiling /tmp/WfZNLiP7_h␤Variable '$a' is not declared␤at /tmp/WfZNLiP7_h:1␤------> say $a⏏; my $a;␤ expecting any of:␤ postfix␤»
jnthn Note that one is a compile time error, not a runtime one.
m: EVAL 'say $a'; my $a; # also ok 23:43
camelia rakudo-moar 166cd3: OUTPUT«(Any)␤»
jnthn m: EVAL 'say $a'; my $a = 42; # but note the assignment happens at runtime
camelia rakudo-moar 166cd3: OUTPUT«(Any)␤»
thilp i see! thank you very much! 23:46
23:47 konsolebox left
[Coke] waves from another airpot. 23:49
*airport.
23:51 BenGoldberg joined
jnthn did enough airports for one day... :) 23:51
.oO( I never tried airpot... )
23:52
23:53 lestrrat left 23:56 lestrrat joined
jnthn sleep & 23:57
raydiak good night jnthn 23:58
no luck with nativecast...anyone have any other clever ideas to speedily squeeze a Blob into a CArray? 23:59