»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
qzix Curious if anyone can report on the current status of support for generating java supportable bitcode that can be run directly from java? From what I can tell this is not yet in the 2018.10 rakudo-star release. 00:27
timotimo right, the jar files that fall out of the perl6 compiler aren't runnable without the rest of perl6 to my knowledge 00:28
it requires at the very least the core setting and the runtime classes and methods 00:29
qzix Any pointers on where to find current status/progress towards java support? 00:30
timotimo maybe it'd be best to just compile a rakudo locally and play around with it? 00:34
the current master version seems broken, but the last release ought to compile fine 00:35
it usually just doesn't pass all tests
qzix Have been, running a number of containers with various flavors of things. But, so far have not found a way to run anything I generation from perl6 in java. This seemed like a hot concept in the past but maybe it is no longer a pirority. 00:36
timotimo yes, we rely on volunteers to work on almost everything, and many of the volunteers working on the java parts aren't available at the moment 00:38
qzix Thanks for the input wasn’t finding anything on line so just thought I would give this a try. I’m sure I will keep poking at it. 00:40
timotimo have you looked at the evalserver yet?
it basically receives code as a string or filename or similar and runs it
and there's ways to import and use java classes right in perl6 code
combining both should allow you to do whatever you want, though it will probably be a bit cumbersome 00:41
qzix read about it a little but didn’t sound exactly like what I’m after.
This isn’t a hard requirement or blocking anything i need. Just something that I thought was one of the perl6 goals so I was just curious if I could do it …. 00:42
timotimo worst case, plain old IPC can have your back 00:47
vrurg m: sub f { [1,2,3], {a=>1, b=>2} }; my ( @a, %h ) = f; note @a 01:06
camelia [[1 2 3] {a => 1, b => 2}]
vrurg Is there a simple way to get @a assigned with the array in return value? 01:07
I can always assign to a scalar, but would like to have it look great.
lookatme_q Using the bind operator ?
m: sub f { [1,2,3], {a=>1, b=>2} }; my ( @a, %h ) := f; note @a
camelia [1 2 3]
vrurg m: sub f { [1,2,3], {a=>1, b=>2} }; my ( @a, %h ); (@a, %h) := f; note @a; note %h 01:08
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot use bind operator with this left-hand side
at <tmp>:1
------> 031, b=>2} }; my ( @a, %h ); (@a, %h) := f7⏏5; note @a; note %h
vrurg Much better, but only works for my. Anyway, thanks! Might do for me anyway. 01:09
lookatme_q :) 01:10
Elronnd is there an easy way to match a simple white-space character (\r, \n, \t, space) in regex? \s seems to also match exotic unicode 03:39
buggable New CPAN upload: Net-BGP-0.0.2.tar.gz by JMASLAK modules.perl6.org/dist/Net::BGP:cpan:JMASLAK 03:45
Elronnd what's the difference between next and succeed? 04:15
shelly okkkk 05:01
this is just a frenly PSA
not snitchin' just an FYI imgur.com/a/UAnFMWX you can join #nances_playhouse for more information
pony how do you write a function tht takes arbitrarily named arguments? 09:22
as in sub f(<something here>) { ... }; f(:anything_i_want(1)), etc.
lizmat m: sub f(*%args) { dd %args ); f a => 42, b => 666 09:24
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3sub f(*%args) { dd %args 7⏏5); f a => 42, b => 666
expecting any of:
postfix
statement end
statement modifier
st…
lizmat m: sub f(*%args) { dd %args }; f(a => 42, b => 666)
camelia Hash element = {:a(42), :b(666)}
pony thank you :)
lizmat
.oO( peskye curlies )
it's called a slurpy hash 09:25
it's always available in methods as %_
m: class A { method f() { dd %_ }; A.f(a => 42, b => 666)
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3od f() { dd %_ }; A.f(a => 42, b => 666)7⏏5<EOL>
expecting any of:
statement end
statement modifier
statement modifier loo…
lizmat m: class A { method f() { dd %_ } }; A.f(a => 42, b => 666)
camelia Hash element = {:a(42), :b(666)}
pony cool 09:25
pmurias hmm is the package scripts and modules get different? 09:28
pony m: sub f(:$x) { put $x }; sub g(*%h) { f(*%h) }; g(:x(1)) 09:30
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
h used at line 1
pony how do I unpack the named arguments into another call?
pmurias I'm wrapping roast tests inside modules and it's causing some failures for things like GLOBAL::Foo instead of Foo starting to appear in error messages 09:32
lizmat pony: f( |%h ) 09:45
you "slip" the hash as named parameter
s
prefix | is the slip operator 09:46
pony =] 09:49
nice 09:50
Geth doc: 0304aaf0e9 | (JJ Merelo)++ | doc/Language/exceptions.pod6
Reflow
10:13
doc: 20a3a7e920 | (JJ Merelo)++ | doc/Language/5to6-nutshell.pod6
Reflow and rephrasing
synopsebot Link: doc.perl6.org/language/exceptions
Link: doc.perl6.org/language/5to6-nutshell
doc: b67e24c681 | (JJ Merelo)++ | doc/Language/syntax.pod6
Eiminates unwanted categories.

Refs #1410 but also #2221.
synopsebot Link: doc.perl6.org/language/syntax
Geth doc: 7478e815a9 | (JJ Merelo)++ | doc/Language/syntax.pod6
Reflows and rephrases
10:29
synopsebot Link: doc.perl6.org/language/syntax
pmurias t/spec/S32-io/chdir.t fails under harness6 because the harness6 claims it has 'Multiple plans' 11:31
pmurias lizmat: would the pragma works for Rats created by infix:</>? 12:07
lizmat m: use full-precision; dd 1/4 12:09
camelia 0.25
lizmat hmmm... I guess I need to check up on that :-) 12:10
it *should*
m: use full-precision; dd 0.01
camelia FatRat.new(1, 100)
pmurias m: use full-precision; say &infix:</>(1, 20) 12:12
camelia 0.05
pmurias m: use full-precision; say &infix:</>(1, 20).^name
camelia Rat
pmurias m: use full-precision; say 1 / (20+3).^name 12:13
camelia Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5Int' (indicated by ⏏)
in block <unit> at <tmp> line 1
pmurias m: use full-precision; say(1 / (20+3)).^name
camelia 0.043478
pmurias m: use full-precision; say ((1 / (20+3)).^name)
camelia Rat
pmurias m: use full-precision; say ((1 / 20).^name)
camelia Rat
pmurias lizmat: the pragma seems reminiscent of the 'use integer' from Perl 5 12:14
lizmat pmurias: soon 1/2 should also be a FatRat with full-precision 12:18
pmurias lizmat: what I'm not convinced about 'use full-precision' that we can either view it as a "strongly recommended" pragma like 'use strict' or 'use warnings' in Perl 5 or a way to specify FatRat literals (like use integer/use bigint) in Perl 5 12:41
s/that/is that/
lizmat: in the first case pragmas that should be almost always on should be on by default 12:42
lizmat well, that was just part of the discussion yesterday: not everybody is convinced that it should be the default
pmurias lizmat: in the second case it seems like a bit clunky and action-at-distancy way of getting FatRats
lizmat well, it is as clunky as any pragma, I'd think 12:43
pmurias lizmat: exactly ;) 12:53
lizmat m: dd 1 / 9999999999999999999999999999999 13:01
camelia 1e-31
lizmat m: use full-precision; dd 1 / 9999999999999999999999999999999
camelia FatRat.new(0, 1)
lizmat that's a bug that would need to get fixed if we decide to keep full-precision
the Rat gets converted to float before .FatRat gets its hands on it
AlexDaniel squashable6: next 13:06
squashable6 AlexDaniel, ⚠🍕 Next SQUASHathon in ≈20 hours (2019-01-05 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
pmurias lizmat: as module I think full-precision is a good idea, I would hesitate to add it the core 13:11
Woodi hallo #perl6 :) 13:20
lizmat Woodi o/ 13:21
Woodi some time ago I got to think, that everything is full of domains. eg. io is domain and numbers to print are their own domain. also numbers in CPU calculations are separate domain from eg. control flow :) so maybe some method on io could decide what to print ? or some switch in numeric subsystem could decide what precision to use ? eg. Auto CAD (Lisp internally) allows to define what precision to use for 13:25
every "number"
Woodi masak: MS Basic 1.0 didn't have any way to define routines; then MS B. 2.0 had 'gosub' that was terrible. also Pascal had functions and procedures so, obviously, those two cannot be used :) 13:27
Xliff_ \o 14:19
masak Woodi: are you mansplaining MS Basic and Pascal to me? I was talking about QBasic. 14:59
AlexDaniel :S 15:00
masak also, QBasic (and Turbo Basic, which I used a lot) *did* have the `FUNCTION` keyword, so I have no idea what your point is
I think `GOSUB` was only terrible to the extent that doing function calls via line numbers (or labels) was terrible, instead of via functions/procedures. the main idea, of last-in-first-out control flow, is the opposite of terrible. 15:02
lizmat weekly: blogs.perl.org/users/shoichi_kaji1/...p6env.html 15:08
notable6 lizmat, Noted!
pmurias shoichi_kaji++ # p6env 15:12
hooking it up to the mockup p6up.github.io/ would be awesome 15:14
Xliff_ Indeed! That looks nice! 15:18
lizmat: Thanks for the link!
vrurg What advantages p6env has comparing to rakudobrew? 15:23
sena_kun m: constant $c = 5; say $c.HOW; 15:32
camelia Perl6::Metamodel::ClassHOW.new
sena_kun it is a ClassHOW, but I don't get how I can create a constant using MOP? I've glanced over Actions.nqp part that handles constant declaration, though it didn't help much. 15:33
timotimo constants aren't about what an object is, it's about packages, lexical pads, etc 15:35
sena_kun ok, I guess I'll go with another approach. thanks. 15:37
AlexDaniel squashable6: status 16:02
squashable6 AlexDaniel, ⚠🍕 Next SQUASHathon in ≈17 hours (2019-01-05 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
MasterDuke unfortunately i'm going to be travelling almost that entire period and probably won't be able to contribute to the squashathon 16:24
pmurias vrurg: isn't p6env supposed to be fully sane? 16:42
lizmat pythonclock.org # sometimes I think we should focus on writing a Python 2 grammar and make that work on MoarVM 17:28
:-) 17:31
[Coke] sub MAIN doesn't document how to handle array args on the doc site. 17:36
lizmat with a Doc squashathon on the horizon, now is the time to add a doc issue ! 17:37
Woodi lizmat: do only Python can run Python or it is saner ? :) 17:39
lizmat there are several Python implementations afaik 17:40
so I guess in that sense it's saner :-)
[Coke] lizmat: added a comment on a relevant ticket. 17:48
wonder if strawberry perl's prove on windows works with -j or if it just ends up running one at a time - it shows 3 tests for me right now, for example, but only one is making any progress, other 2 are at 0. 17:51
(doc tests seem very slow compared to linux) 17:53
lizmat [Coke]: my understanding of prove on Win is that it does parallelize, but doesn't start a new batch until *all* have finished 17:56
of a given batch. Which seems to be corroborated by your observations ? 17:57
[Coke] hard to verify that, but it's possible 17:58
MasterDuke btw, the MAIN array args business about it failing when there's just a single value, is that specced? could it be changed? 18:11
MasterDuke timotimo: just got BOOTNum allocations when compiling the muldis grammar down from 465,217 to 45,389 18:24
oh, oops. that's from my other example 18:25
but it does seem to reduce the time to compile the muldis grammar by 1s 18:26
pmurias lizmat: python has C extensions like Perl 5 does, so just the language won't be enought to run all Python 2 programs :( 18:28
lizmat argh :-(
leont There are multiple python implementations, even if cpython has always been the standard. At least that problem isn't new 18:39
squashable6 Webhook for perl6/roast is now active! Design for failure. 18:44
Geth perl6-examples: 2b9742a89d | (David Warring)++ | .travis.yml
further CI Rakudo baseline bump for deps
squashable6 Webhook for rakudo/rakudo is now active! Keep it logically awesome. 18:45
timotimo pypy implements the cpython extension business
pmurias it's still an significant obstacle for python on MoarVM 18:50
buggable New CPAN upload: Tomtit-0.0.14.tar.gz by MELEZHIK modules.perl6.org/dist/Tomtit:cpan:MELEZHIK 19:05
Geth doc: d1d41ccb57 | cfa++ | doc/Language/pod.pod6
Index existing #| and #= declarator block documentation.

  (Partially addresses #2305.)
19:06
synopsebot Link: doc.perl6.org/language/pod
Geth perl6-examples: 0b4110f87a | (David Warring)++ | 2 files
fix Categories
19:13
El_Che weekly: blogs.perl.org/users/shoichi_kaji1/...p6env.html 19:15
notable6 El_Che, Noted!
Geth perl6-examples: bb38add87b | (David Warring)++ | lib/Examples/Categories.pm
Define sort order in Categories.categories-list
19:54
cfa hmm, looks like those index entries don't work in firefox 20:17
Xliff_ I keep getting this message from rakudo: Native call expected return type with CPointer representation, but got a P6opaque (Scalar) 20:38
Does that mean the sub RETURN value was a P6opaque or one of its parameters? That error doesn't really make it clear. 20:39
Geth doc: df15cce724 | cfa++ | doc/Language/pod.pod6
Fix declarator block xrefs (#2305).

Note that index entries for #| and #= are currently not working in Firefox. The generated anchor names are:
  - index-entry-declarator_blocks_%23|
  - index-entry-declarator_blocks_%23=
... (7 more lines)
21:11
synopsebot Link: doc.perl6.org/language/pod
buggable New CPAN upload: Tomtit-0.0.15.tar.gz by MELEZHIK modules.perl6.org/dist/Tomtit:cpan:MELEZHIK 23:25
New CPAN upload: Tomtit-0.0.16.tar.gz by MELEZHIK modules.perl6.org/dist/Tomtit:cpan:MELEZHIK