»ö« 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 | |||
jnthn.net/papers/2013-yapceu-jvm.pdf | |||
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 1Unhandled 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/PnIEjmyufVUndeclared 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 | |
FROGGS | hehe | ||
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! ) |
09:45 | ||
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 |
09:50 | |
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/ge8VOTYfMwUndeclared 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 failedFAILED 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 failedFAILED 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) | |||
FROGGS | *g* | ||
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. |
16:03 | |
jnthn | TimToady: Docs!!! :) | ||
lizmat |