»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
colomon whats the reverse of ords? 00:02
benabik sdro 00:03
Mouq r: "abcd".ords.chrs.say
camelia rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤»
..rakudo-parrot 3164ca: OUTPUT«abcd␤»
benabik r: 'ords'.reverse.say
camelia rakudo-parrot 3164ca: OUTPUT«ords␤»
..rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤»
colomon Mouq++
I actually tried that, but it turns out... 00:04
benabik Huh. odds is the reverse of odds. Weird.
colomon rn: say (92,80,92,67).chrs
camelia rakudo-parrot 3164ca, niecza v24-98-g473bd20: OUTPUT«\P\C␤»
..rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤»
Mouq rn: 'ords'.flip.ords.reverse.chrs.say 00:05
camelia rakudo-parrot 3164ca, niecza v24-98-g473bd20: OUTPUT«ords␤»
..rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤»
00:05 ssutch left
lue That's weird. My callmethod op comes out as QAST::Op(call &postfix:<>) . No clue if that's right or not. 00:05
colomon huh. here's what I get locally
> (92,80,92,67).chrs
Method 'chrs' not found for invocant of class 'Parcel'
benabik nqp: say (92,80,92,67).chrs
camelia nqp-jvm: OUTPUT«Confused at line 2, near "say (92,80"␤ in panic (gen/jvm/stage2/NQPHLL.nqp:379)␤ in comp_unit (gen/jvm/stage2/NQP.nqp:922)␤ in TOP (gen/jvm/stage2/NQP.nqp:820)␤ in parse (gen/jvm/stage2/QRegex.nqp:1247)␤ in parse (gen/jvm/stage2/NQPHLL.nqp:1378)␤ in…» 00:06
..nqp-moarvm: OUTPUT«Confused at line 2, near "say (92,80"␤panic␤»
..nqp-parrot: OUTPUT«Confused at line 2, near "say (92,80"␤current instr.: 'panic' pc 16305 (gen/parrot/stage2/NQPHLL.pir:6018) (gen/parrot/stage2/NQPHLL.nqp:426)␤»
Mouq colomon: what's your version? as I recall, that was a recent thing
well, like last month or so
colomon 2013.08-99-ga13cec9
guess my Mac is way behind.
lue Mouq++ for the parse/ast tip. I've been stuck in "you can use the grammar tracer" land for a while, and I forgot the other debugging methods :) 00:07
Mouq lue: :) 00:08
00:08 preflex left 00:10 preflex joined, ChanServ sets mode: +v preflex
lue nqp seems to handle a callmethod correctly, so somehow NQP code is leaking into the AST of my stuff :/ 00:11
00:15 raiph left
Mouq r-p: say '°•°•.•.•°•°•.•°•.•°'~~/\°+%\•+%\./ 00:18
camelia rakudo-parrot 3164ca: OUTPUT«「°•°•.•.•°•°•.•°•.•°」␤␤»
00:22 risou_awy is now known as risou
jnthn .tell jaffa4 because you didn't pass a :actions(...), which is required 00:27
arnsholt: See docs/6model/repr-compose-protocol.markdown, the array section 00:29
00:30 ssutch joined
jnthn sleep & 00:32
00:38 risou is now known as risou_awy 01:05 raiph joined 01:22 nnunley left
timotimo r-j: say $*VM<name> 02:00
camelia rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤»
pdurbin timotimo: how's perl6 on the jvm going? 02:01
timotimo pretty good actually 02:02
jnthn++ has been making pretty darn cool parallelism constructs for us
and we have JVM interop, so that we can use classes from java and implement some interfaces like "runnable" (or something like that?) just by having a sub 02:03
pdurbin somewhere on 6guts.wordpress.com I looked at some pdf that gave a nice high level overview of perl6 on the jvm 02:04
timotimo ah damn. we need a pbc_to_exe equivalent for the jvm so that we can build a binary from rakudo-debugger. 02:05
yes, that would be his talk slides i'd bet
pdurbin it's was interesting to read how for certain workloads the jvm is much more efficient than parrot
timotimo yes, truly
the JIT is pretty darn good.
pdurbin yeah, page 47. 11 minutes vs. 7 hours, 52 minutes 02:06
timotimo and also the way our classes work is a bit nicer on the JVM than on parrot. and much nicer still on moarvm
pdurbin timotimo: thanks 02:07
timotimo you're welcome
lue idly considers Moar
pdurbin a guy at work gave a talk on scala. who knows. maybe we'll consider languages besides java on the jvm some day :) 02:09
timotimo :)
pdurbin his slides: lists.iq.harvard.edu/pipermail/tec...00006.html 02:10
timotimo: is there a place to check for general status of perl6 on the jvm? what's working, what's not working, etc. 02:13
timotimo yeah, the perl6-roast-data repository on coke's github gives you the percentages of relative spectest success and details which spectests are skipped 02:15
almost everything that works on parrot works on jvm. the one important thing that's missing before we make a Rakudo-jvm Star release is Native Call
in that case, it means calling C code from a rakudo-jvm
and the jvm has stuff that doesn't work on parrot. and now there's tests for the stuff that is not on parrot, so maybe rakudo-parrot will not stay the leader in the scoring :) 02:16
pdurbin looks at github.com/coke/perl6-roast-data/b..._rates.csv
wow, almost everything. so I see 02:18
timotimo sometimes there's problems with the test runs, though, like it hanging in the middle
yes, indeed :)
but 100% doesn't mean 100% of tests succeed. lots of tests are skipped or todos
i think that's the difference between the "spec" and "plan" columns 02:19
pdurbin ah ha. but still, the "pass" numbers are very similar 02:20
timotimo yes, indeed
once you get to a compiling and running CORE.setting, you already have a big chunk of things covered 02:21
aaw, i don't have a commit bit for rakudo-debugger 02:22
02:23 risou_awy is now known as risou
pdurbin "We hope to provide a JVM-based Rakudo Star release soon" -- rakudo.org/2013/10/29/rakudo-star-2...-released/ 02:24
BenGoldberg r-j: 1 02:25
camelia rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤»
BenGoldberg Why is that happening? 02:26
pdurbin timotimo: so nothing to download yet?
timotimo right. i'm not sure if the compiler release has the backend "in it". i'm sure it should (also, it's just a source release) 02:30
pdurbin ok 02:37
timotimo what OS are you on? if you're interested in building one yourself, i can probably walk you through it. it's pretty easy nowadays 02:38
pdurbin Fedora at home. Mac at work. Not sure I have time though :) 02:39
02:40 risou is now known as risou_awy
pdurbin but I appreciate the offer :) ... off to sleep 02:42
02:42 pdurbin left 02:52 REPLeffect left 03:07 REPLeffect joined 03:17 ssutch left 03:56 xinming_ joined 03:59 xinming left 04:02 ssutch joined 04:14 rurban joined 04:19 risou_awy is now known as risou 04:33 johnny5_ left 04:35 johnny5_ joined 04:51 BenGoldberg left, preflex_ joined, ChanServ sets mode: +v preflex_ 04:52 preflex left, preflex_ is now known as preflex 04:59 Karlo7 joined
Karlo7 rakudo 04:59
perl6:say rakudo 05:01
perl6:say rakudo; 05:02
perl6: rakudo; 05:03
camelia niecza v24-98-g473bd20: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'rakudo' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp…» 05:04
..rakudo-parrot 3164ca: OUTPUT«===SORRY!=== Error while compiling /tmp/PnIEjmyufV␤Undeclared routine:␤ rakudo used at line 1␤␤»
..rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤»
Karlo7 perl6: say 3; 05:05
dalek osystem: e72e6d7 | (Nick Patch)++ | META.list:
add CLDR::List
camelia rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤»
..rakudo-parrot 3164ca, niecza v24-98-g473bd20: OUTPUT«3␤»
05:09 Karlo7 left 05:14 rurban left 06:15 raiph left 06:19 ingy1 joined 06:20 rurban joined, ingy1 left 06:32 rurban left 06:47 bbkr joined 06:57 woolfy joined 06:58 darutoko joined 07:01 dansamo joined, dansamo left 07:02 dansamo joined 07:03 lizmat joined 07:11 k-ray joined 07:12 bbkr left 07:18 johnny5_ left 07:20 johnny5_ joined 07:25 tobyink joined 07:33 rurban joined 07:48 rurban left 07:49 woolfy left 07:51 tobyink left 07:54 lizmat left 07:55 hummeleB1 left 07:58 dansamo left 08:06 johnny5_ left 08:07 johnny5_ joined 08:08 ssutch left 08:15 tobyink joined 08:48 kaare_ joined 08:51 rurban joined 08:58 rurban left
FROGGS morning 08:58
09:06 lizmat joined
masak o/ 09:09
lizmat masak: /o 09:10
FROGGS morning lizmat
lizmat is catching up on backlog
the jnthn has not entered the building yet
FROGGS :o) 09:11
09:12 woolfy joined
lizmat correction: jnthn has entered the building 09:12
09:20 jaffa4 joined
woolfy update: jnthn is in the building and standing next to our table and talking to Nick 09:22
update: he still is talking...
lizmat update: woolfy is taking pictures 09:24
I am feeling being involved :o) 09:25
lizmat update: woolfy stopped taking photos
woolfy confirms lizmat's updates
jaffa4 what is going on?
FROGGS jaffa4: they are at the perl workshop in Austria 09:26
woolfy FROGGS: would be nice if you would be here too. It's nice. Nice office, nice people, nice city. Already 14 people present in hackathon room. Some of them are really hacking.
FROGGS jaffa4: btw, jnthn replied to you in the backlog
jaffa4 What backdoor? 09:27
FROGGS woolfy: yeah, I wanted to come, but my wife is getting a job as it seems (starting tomorrow)
jaffa4 And replies on what?
FROGGS jaffa4: irc backlog, see irclog.perlgeek.de/perl6/search/?ni...p;q=jaffa4 09:28
woolfy FROGGS: wife's job is way more important. You did choose well. 09:29
jaffa4 not sure what his wife's job has to do anything 09:30
FROGGS woolfy: yeah, especially when she had none since four years now :o)
jaffa4: I have two young kids, somebody has to care :o) 09:31
so I can't travel around
woolfy Wife could have some moral (and household) support as well after first job in 4 years! 09:33
I can't find the Camelia logo graphics file on www.perl6.org . Anybody an idea where to find it? The scalable version would be nice.
FROGGS that too of course
woolfy: it is on wall.org I think 09:34
jaffa4 FROGGS: Austrlian workshops seems to be very small 09:35
woolfy hmmm, not a very helpful url
FROGGS woolfy: I am still searching
woolfy jaffa4: the workshop had 22 attendees yesterday. Today is hackathon and 14 people present, more coming in later.
FROGGS woolfy: commons.wikimedia.org/wiki/File:Camelia.svg 09:36
jaffa4: and we are talking about Austria in Europe
jaffa4 so am I. 09:37
FROGGS ahh,, k
woolfy FROGGS: thanks, that's the one.
jaffa4: quantity, not quality... :-)
jaffa4 you mean the reverise
lizmat "Austrlian" seems to be the love child of "Austrian" and "Australian"
jaffa4 I have typing difficulties 09:38
and I spend time in Autralia and I keep remembering I think
FROGGS: I need to pass :actions... so what do I need to do exactly? 09:40
FROGGS jaffa4: something like: Perl6::Grammar.parse( $code, :actions(Perl6::Actions.new) )
jnthn morning o/ 09:41
arnsholt 'lo
jnthn: Thanks for your reply last night 09:42
FROGGS hi jnthn, arnsholt 09:43
arnsholt I've put the CArray refactor idea on the back burner for now, as I need to get a better grip on how parametric classes work first =)
jnthn ok 09:44
.oO( me too! )
arnsholt: Maybe look at how I did Buf
arnsholt: And blob
We can steal those improvements
and use them for NativeCall
dalek ecs: 73b7398 | (Elizabeth Mattijsen)++ | S11-modules.pod:
Some more on CompUnitRepo and CompUnit
arnsholt jnthn: Yeah, I looked at Buf and Blob last night 09:53
I'll probably steal much from there
But first, I'll get CArray working on JVM =)
10:00 rurban joined
jaffa4 r: use Perl6::Grammar:from<NQP>; use Perl6::Actions:from<NQP>; say Perl6::Grammar.parse( 'my $b=4;', :actions(Perl6::Actions.new()) ); 10:09
camelia rakudo-parrot 3164ca: OUTPUT«No such method 'gist' for invocant of type 'NQPMatch'␤ in sub say at gen/parrot/CORE.setting:12843␤ in block at /tmp/oK31MAmT0h:1␤ in any at /tmp/oK31MAmT0h:1␤ in any at gen/parrot/stage2/NQPHLL.nqp:1146␤ in any eval at gen/parrot/stage…»
..rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤»
jaffa4 FROGGS: something is still wrong 10:10
r: use Perl6::Grammar:from<NQP>; use Perl6::Actions:from<NQP>; my $g = Perl6::Grammar.parse( 'my $b=4;', :actions(Perl6::Actions.new()) ); 10:11
camelia rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤»
..rakudo-parrot 3164ca: OUTPUT«Nominal type check failed for parameter '$got'; expected Any but got NQPMatch instead␤ in block at /tmp/WObpfq9ZTX:1␤ in any at /tmp/WObpfq9ZTX:1␤ in any at gen/parrot/stage2/NQPHLL.nqp:1146␤ in any eval at gen/parrot/stage2/NQPHLL.nqp:113…»
moritz you'll get an NQP Match object back, not a Perl 6 Match object
so you have to be extra careful about what you do with it
jaffa4 I just put it into a variable 10:12
So what can I do with it?
FROGGS jaffa4: this message is some sort of success: No such method 'gist' for invocant of type 'NQPMatch'
jaffa4 yes, look at my second attempt 10:13
FROGGS it means that you get a Match back (from nqp land), but you can't gist it
jaffa4 I cannot put it into variable
FROGGS same thing, it is an nqp-object, not a perl6 one
r: use Perl6::Grammar:from<NQP>; use Perl6::Actions:from<NQP>; my Mu $g := Perl6::Grammar.parse( 'my $b=4;', :actions(Perl6::Actions.new()) ); 10:14
camelia ( no output )
..rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤»
FROGGS rp: use Perl6::Grammar:from<NQP>; use Perl6::Actions:from<NQP>; say Perl6::Grammar.parse( 'my $b=4;', :actions(Perl6::Actions.new()) ).dump; 10:19
camelia rakudo-parrot 3164ca: OUTPUT«- statementlist: my $b=4;␤ - statement: 1 matches␤ - EXPR: my $b=4␤ - scope_declarator: my $b=4␤ - sym: my␤ - scoped: $b=4␤ - DECL: $b=4␤ - initializer: 1 matches␤ - sym: =␤ …»
FROGGS rp: use Perl6::Grammar:from<NQP>; use Perl6::Actions:from<NQP>; say Perl6::Grammar.parse( 'my $b=4;', :actions(Perl6::Actions.new()) ).ast.dump
camelia rakudo-parrot 3164ca: OUTPUT«- QAST::CompUnit␤ - QAST::Block my $b=4;␤ - QAST::Var(local __args__ :decl(param))␤ - QAST::Stmts␤ - QAST::Op(call)␤ - QAST::Block ␤ - QAST::Stmts␤ - QAST::Var(lexical GLOBALish :decl(static))␤ - QA…» 10:20
10:20 rurban left
jaffa4 slooks good 10:25
FROGGS you still have the problem with the nqp <-> perl6 boundary 10:27
jaffa4 How do I enumarate this? 10:29
FROGGS do you mean iterate? there are ops for it, grep for nqp::iter* in nqp 10:33
jaffa4 yes 10:34
xenoterracide scratches head at the name `elems` why not `size` or `count` 10:36
moritz xenoterracide: because 'size' could be anything 10:37
xenoterracide: storage size, display size when printed, whatever
10:37 denisboyun joined
moritz count is better, but *what* is counted? elems! 10:37
xenoterracide List.elems makes me think I'm returning the elements... List.size or List.count would both make me think of a numeric context... idk, just a thought, I'd never guess what elems means 10:38
moritz that is a disadvantage, yes 10:39
lizmat xenoterracide: but, Perl6 doesn't return elemens: it returns a list or Parcel with elems
therefore .elems returns the number of elements 10:40
.list or .Parcel returns the list or a parcel with the elements
moritz or if you have a list, it already *is* the list of elems :-) 10:41
10:41 tobyink left
xenoterracide of course, when everything is an object... I'm just saying if I read this code, without referencing the docs I wouldn't know what it was doing 10:41
of course to be fair if I didn't know perl I'm not sure I'd innately know what shift/unshift did either 10:42
xenoterracide shrugs, not a language designer, going back to my corner 10:43
well, ok, I'll say one last thing I guess... my thought on any api design is that you should, in most cases, be able to read the class and method name and guess what the purpose is without (too much) prior knowledge 10:45
List.first is extremely obvious
moritz which immediately rules out List.size
10:57 cognominal__ joined
xenoterracide afaik, that may be common to other implementations, python uses count, java size, ruby size or length, js length, (I think length is weirder than size, but all seems better than elem ) 10:59
11:01 cognominal left
xenoterracide notes the only reason I brought this up is I'm poking around writing a perl 5 collection api 11:01
and decided to somewhat base it off perl6's method naming
moritz "length" is another example that lacks a unit 11:02
xenoterracide yeah I don't like length either
moritz lenght in bytes? in characters? Codepoints? display length?
xenoterracide but with elem, what about it? is it returning an elem object that's another collection type? telling me what type of elem (what of() does), it's just something I have to look up (barring familiarity) 11:04
I think for what I'm working on I'll go with count
Collection.count doesn't seem ambiguous
moritz what does Hash.count return?
number of keys? or number of elems of the hash table? 11:05
xenoterracide what does Hash.elem return? 11:06
moritz number of pairs
xenoterracide why would I guess that anymore than I would Hash.count
moritz because count doesn't say *what* is counted 11:07
xenoterracide how does elem?
moritz it counts *elem*s
xenoterracide a pair is an elem?
moritz yes
lizmat r: my @a=([],[],[]); sat @a.elems 11:08
r: my @a=([],[],[]); say @a.elems
camelia rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤»
..rakudo-parrot 3164ca: OUTPUT«===SORRY!=== Error while compiling /tmp/ge8VOTYfMw␤Undeclared routine:␤ sat used at line 1. Did you mean '&set', '&say'?␤␤»
rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤»
..rakudo-parrot 3164ca: OUTPUT«3␤»
moritz p: set(<a b a c>).elems 11:09
camelia ( no output )
moritz p: say set(<a b a c>).elems
camelia rakudo-parrot 3164ca: OUTPUT«3␤»
moritz p: say bag(<a b a c>).elems
camelia rakudo-parrot 3164ca: OUTPUT«3␤»
xenoterracide well maybe it makes more sense in perl6 though not sure if it does in perl 5... 11:10
I'll think on it
it's not like I'll release the library in a week
though knowing that it's looking at elems I'd probably still guess count was counting elems just have to know that detail... (which also seems relevant to understanding the name .elem) 11:12
moritz in the context of a Perl 5 library it might even make sense to call it length, simply because that's the p5 idiom 11:13
xenoterracide true, heh, forgot that function exists 11:14
Juerd "length" isn't a p5 idiom for lists or arrays. 11:15
Unless, of course, you want to know the number of digits of the number of elements... :P 11:16
moritz right, that would be 'scalar'
xenoterracide I coerce to scalar context alot
on more perl 6 notes... has any thought been given to a variance in Native backend, say wanting to use JDBC DBD vs C DBD 11:19
11:20 denis_boyun joined 11:21 denisboyun left
arnsholt I think moritz has mentioned the possibility, but nothing concrete exists so far AFAIK 11:21
lizmat p: say bag(<a b a c>).total 11:22
camelia rakudo-parrot 3164ca: OUTPUT«4␤»
11:25 denis_boyun left 11:26 denis_boyun joined 11:27 spider-mario joined
xenoterracide what's the difference between Blob and Buf? 11:29
jnthn Mutability...in theory :) 11:30
Though currently Rakudo doesn't let you mutate either. But Buf should be mutable. 11:31
11:31 denis_boyun__ joined 11:33 denis_boyun left 11:36 Rotwang joined 11:37 denis_boyun joined, fridim_ joined 11:38 denis_boyun__ left
arnsholt jnthn: There doesn't seem to be separate allocate and initialize steps in 6model on JVM, that right? 11:39
xenoterracide well in backend thought, if given a little API could largely leave it up to a convention ::PP or ::JVM ::Native and prefer JVM over Native on the jvm 11:40
11:41 rindolf joined, Rotwang left 11:43 denis_boyun left
xenoterracide if I do multi new ($param ) { ... } will that work as expected? also on native... is there an API that allows me to find out what the current environment is? 11:43
11:43 denis_boyun joined 11:49 pmurias joined
pmurias xenoterracide: re JDBC DBD vs C DBD, you mean on the NativeCall level or on the module naming level? 11:50
xenoterracide module naming, unless there was actually a saner way to do it 11:51
11:55 Rotwang joined 11:57 telex left 11:58 SmokeMachine left, telex joined
lizmat moritz: when wanting to run a single spectest file, I usually do "make t/spec/name/ofspectest.t" 11:59
on a dual installation, this uses the parakudo
moritz lizmat: it uses the first of the backends detected or passed --backends= 12:00
lizmat aha, ok 12:01
moritz lizmat: would you prefer some other semantics?
lizmat is looking 12:07
12:18 denis_boyun__ joined
xenoterracide equivalent to __PACKAGE__? and does that vary whether I'm in a class/role/module ? 12:19
12:19 denis_boyun left 12:20 denis_boyun__ left 12:23 denis_boyun joined 12:25 dansamo joined 12:26 denis_boyun_ joined 12:27 dansamo left, dansamo2 joined 12:29 denis_boyun left, djanatyn left 12:31 djanatyn joined, denis_boyun_ left 12:32 denisboyun joined
moritz r: class A { say $?PACKAGE } 12:34
camelia rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤» 12:35
..rakudo-parrot 3164ca: OUTPUT«(A)␤»
moritz rj: say 'alive?' 12:36
camelia rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤»
xenoterracide require( $class ).new (IIRC this is possible though I think my invocation is slightly off... 12:37
moritz require $class; ::($class).new
12:37 denisboyun left
moritz rj: say 'alive'; 12:37
camelia rakudo-jvm 882e33: OUTPUT«alive␤»
12:38 denis_boyun joined
moritz currently I wonder if I should start one eval server, and then kill it and start a new one after it has been used 12:42
lizmat fwiw, I just installed javac on my macbook 12:43
and trying to do jvm spectest
it starts failing after about 40 tests
the error I've been able to get out of that is: 12:44
Error in socket connection:Exception in thread "Thread-71"
java.lang.OutOfMemoryError: GC overhead limit exceeded
does that ring any bell with anyone
according to jnthn, this appears to be the same pb that [Coke] sees/ has seen 12:46
12:47 xenoterracide left 12:59 xenoterracide joined 13:02 Rotwang left
xenoterracide is it possible to have a class and a module of the same name and export subroutines from the module and the class? 13:05
timotimo does somebody want to build something like "pbc_to_exe" for the jvm port? it could create a sh on linux and a .bat on windows and find the right libraries and classpaths and stuff
FROGGS xenoterracide: it is specced to load a module/class under a different name (alias), that is what you want, but unfortunately NYI 13:06
like: use Foo:from<NQP>:name<Bar>; use Foo; 13:07
xenoterracide hmmm 13:08
FROGGS or you would load a Foo with a different version as the other Foo, and load one of them under an alias
jnthn xenoterracide: Why put the subs in a module at all?
xenoterracide: Just mark the class is export and then shove the subs after it and makr them as is export
they're lexical so it's not like they pollute anything.
FROGGS jnthn: yeah, if you have the modules/classes under control :o) 13:09
xenoterracide jnthn: suppose I could do that, (goes back to refactoring Digest)
nwc10 Thing I mentioned earlier - Devil's dictionary of programming: programmingisterrible.com/post/6578...rogramming 13:10
(from Peter da Silva from David Gerard)
xenoterracide trying to make Digest a little more ... Digestable heh. Make it more like the perl 5 version and allow algorithm selection 13:14
13:18 Rotwang joined
xenoterracide I suppose I could TIAS but if you're inside of a .pm ... but not inside of a "package scope" then what "package" are you in? do those subs auto end up in a lexical block of main or something? 13:25
arnsholt jnthn: Given that most REPRs use the same class as REPRData all the time, d'you think it would make sense to make STable on JVM STable<T>?
And then REPR<T>. It'd kill some casts in various places I think 13:26
jnthn Yeah, but since it's just type erasure it makes no differene at runtime anyway... 13:34
afaik, anyway
arnsholt Yeah, it'd be purely a convenience while coding 13:35
13:39 Rotwang left
jnthn ah, ok 13:41
13:43 dmol left
arnsholt I've noticed that uses of REPRData are always accompanied by casting stuff, and that'd be a way to get rid of that 13:45
13:46 dansamo2 left 13:53 tobyink joined 13:54 Rotwang joined 14:00 dmol joined 14:03 Rotwang left 14:08 raiph joined
lizmat std: my $p = ==> { ... } 14:14
camelia std 8adbc60: OUTPUT«===SORRY!===␤Malformed initializer at /tmp/Z1Kg553PWI line 1:␤------> my $p ⏏= ==> { ... }␤Parse failed␤FAILED 00:01 122m␤»
lizmat std: my $p ==> { ... } 14:15
camelia std 8adbc60: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix => instead at /tmp/T0aNKiGYxo line 1:␤------> my $p =⏏=> { ... }␤Parse failed␤FAILED 00:01 123m␤»
14:16 zakharyas joined 14:17 Rotwang joined 14:21 BenGoldberg joined 14:22 denis_boyun left 14:27 denis_boyun joined
lizmat TimToady: instead of async { ... }, maybe vow { ... } ? 14:27
14:28 rurban joined 14:33 Rotwang left 14:40 denis_boyun left, denisboyun joined 14:44 denis_boyun joined 14:46 denisboyun left 14:47 Rotwang joined 14:49 denis_boyun left 14:50 FROGGS left, denis_boyun joined 14:53 FROGGS joined 14:56 BenGoldberg left 15:01 denis_boyun left 15:05 dmol left
FROGGS k, I think I fixed run() so that it does not run the program via a shell 15:12
japhb__ lizmat: schedule {} ? 15:14
task {} ? 15:15
15:15 zakharyas left
FROGGS I dont think a noun is preferable 15:16
TimToady unfortunately the English verb is "extract a promise" :)
japhb__ TimToady: Actually, in retrospect, I kinda like your todo {} suggestion. 15:17
FROGGS ohh, task is a verb too
japhb__ Since you can 'todo' something.
FROGGS that feels more like NYI
like stub code
japhb__ :-/
TimToady but todo has strong overtones that I'm going to do it, not someone else 15:18
FROGGS (to me)
japhb__ That's a fair point
TimToady wish at least is what you do to a genie, which is a separate agency
japhb__ job {}
diakopter .
FROGGS steve { } 15:19
japhb__ FROGGS: .steve is clearly a method that gives you the current list of jobs.
FROGGS or that gives you style, and shouts at you in another moment :o)
TimToady unfortunately "delegate" is too long, and already means something else 15:20
japhb__ starts singing "Sailing the Wide Concurrency" to the tune of "Sailing the Wide Accountancy"
(in his head)
japhb__ lazyperl {} 15:21
lizmat TimToady: re " but todo has strong overtones that I'm going to do it, not someone else", that's why I propose "go do" aka "godo"
japhb__ lazy {}
TimToady bikeshed {} 15:22
japhb__ blue {}
diakopter _ {}
japhb__ no, green {}
lizmat jim {}
FROGGS besides { }
geekosaur please {} 15:24
raiph tia {} # green, light 15:25
japhb__ jnthn: So, while they continue bikeshedding ... can you explain why BOOTSTRAPATTR is used beyond building Attribute (or maybe scalar_attr)?
FROGGS casual { } # my last one for today 15:26
japhb__ causal {} # Now what does *that* mean in this context?
FROGGS O.o 15:27
jnthn japhb__: Not really :) 15:28
japhb__: Maybe 'cus "that's how things ended up"
japhb__: I guess scalar_attr just needs Attribute and Scalar to exist. 15:29
And we can use it for the rest.
japhb__ OK, that makes sense to me. I kept looking at the code going "Why are we using BOOTSTRAPATTR way down here?" And then I wondered if there was some performance reason, or some extremely subtle detail somewhere I was missing. 15:30
jnthn japhb__: Well, the other reason is that it doesn't not vivify a Scalar in the attribute 15:31
Which can be important.
But we can find a way to do that and use Attribute
japhb__ jnthn: Well, but that's true of a regular Attribute, right?
I mean, I thought scalar_attr() was just a wrapper to weld Scalar viv to an Attribute, so if you just use Attribute by itself ... 15:33
jnthn Right.
So we can almost certainly reduce BOOTSTRAPATTR usage lots ;)
japhb__ \o/
jnthn Just copy paste...
15:35 spider-mario left
japhb__ lizmat: line 824 of github.com/perl6/specs/commit/73b7...a300e2R824 looks like you mixed languages. :-) 15:37
lizmat hehe 15:38
jnthn japhb__: Good you pointyd that out...
japhb__ >.< 15:39
dalek ecs: 327e599 | (Elizabeth Mattijsen)++ | S11-modules.pod:
Mixed languages: bad girl! spotted by japhb__++

Finally someone looks at this :-)
japhb__ jnthn: That one hurt when I felt the point of your linguistic arrow ... 15:40
japhb__ wonders if everything currently in BOOTSTRAP.nqp still needs to be there 15:44
15:45 ajr joined 15:46 ajr is now known as Guest16834, Guest16834 is now known as ajr_ 15:49 dansamo2 joined 15:51 xenoterracide left 15:54 raiph left
arnsholt CArray tests: 3/26 \o/ 15:54
15:55 raiph joined 15:57 denis_boyun_ joined
FROGGS arnsholt++ # \o/ 15:57
16:02 woolfy left
lizmat about to finish up the the APW Hackathon 16:02
16:03 kaare__ joined
dalek ecs: 0b11765 | jonathan++ | S17-concurrency-jnthn.pod:
Add a heretical S17, written from scratch.

This describes the current state of concurrency as found in Rakudo JVM as well as some other planned things. lizmat++ for review and much feedback. This is for discussion, and so we can start collectively working on better naming, API design, etc. where needed.
jnthn TimToady: Docs!!! :)