»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by diakopter on 6 April 2013. |
|||
colomon | n: say rand xx 2 | 00:03 | |
p6eval | niecza v24-35-g5c06e28: OUTPUT«0.815935582768142 0.413482928841134» | ||
colomon | grondilu: I guess the magic that makes the left-hand-side into a block doesn't work through Rop | 00:04 | |
probably should count as rakudo and niecza bugs | 00:05 | ||
grondilu | ok, that's what I thought | 00:26 | |
00:31
grondilu left
00:33
_jaldhar left
00:36
lustlife joined
00:44
gcole left
00:47
_jaldhar joined
00:55
anuby joined
01:03
_jaldhar left
01:05
_jaldhar joined,
lichtkind__ left
01:10
cognominal joined
01:14
berekuk left
01:16
Bzek left
01:18
FROGGS_ joined
01:19
cognominal left
01:20
cognominal joined
01:21
FROGGS left
01:25
anuby_ joined
01:26
anuby left
01:27
berekuk joined
01:33
Bzek joined,
edgeuplink joined
01:36
edgeuplink left
01:38
edgeuplink joined
01:39
cognominal left
01:41
edgeuplink left
01:52
tgt left
|
|||
colomon | n: say infix:<xx>(rand, 3) | 02:06 | |
p6eval | niecza v24-35-g5c06e28: OUTPUT«0.62666999903818121 0.62666999903818121 0.62666999903818121» | ||
colomon | n: sub g(\item, $count) { ^$count.map({ item }); }; say g(rand, 3) | 02:09 | |
p6eval | niecza v24-35-g5c06e28: OUTPUT«0..^1» | ||
colomon | n: sub g(\item, $count) { (^$count).map({ item }); }; say g(rand, 3) | ||
p6eval | niecza v24-35-g5c06e28: OUTPUT«0.83686888582858676 0.83686888582858676 0.83686888582858676» | ||
colomon | n: say rand xx 3 | 02:13 | |
p6eval | niecza v24-35-g5c06e28: OUTPUT«0.035388940030424365 0.63918304845652685 0.74073798569884985» | ||
02:17
berekuk left
|
|||
colomon has no idea how niecza does that. | 02:19 | ||
colomon knows how niecza does that! | 02:21 | ||
diakopter | nice! | ||
colomon | thunk_sub | ||
Operator::Replicate | 02:22 | ||
02:23
berekuk joined
|
|||
colomon | dunno if I can do anything useful with that knowledge, but it's still nice to know. | 02:25 | |
02:26
berekuk left
02:27
awwaiid left
|
|||
colomon | n: say 3 Rxx rand | 02:28 | |
p6eval | niecza v24-35-g5c06e28: OUTPUT«0.05756106649411892 0.05756106649411892 0.05756106649411892» | ||
colomon | n: say 3 Rxx { rand } | ||
p6eval | niecza v24-35-g5c06e28: OUTPUT«{ ... } { ... } { ... }» | ||
02:32
bruges_ left
02:35
bruges joined
02:50
orafu left
02:51
orafu joined
02:53
preflex_ joined
02:54
preflex left,
preflex_ is now known as preflex
03:02
Khisanth left
03:10
Chillance left
03:16
Khisanth joined
03:17
awwaiid joined
|
|||
dalek | kudo/nom: 2bd981d | (Geoffrey Broadwell)++ | src/core/Hash.pm: Break DUMP recursion for Hash |
03:25 | |
kudo/nom: 160c0f8 | (Geoffrey Broadwell)++ | src/core/Mu.pm: DUMP armoring and correctness fixes |
|||
kudo/nom: 5adc4db | (Geoffrey Broadwell)++ | src/core/Mu.pm: DUMP(): Remove redundant null check; add explicit low-level hash handling; minor refactoring to make debugging clearer |
|||
03:27
japhb_ joined
03:56
rindolf joined
|
|||
japhb_ | Anyone remember how to check on the rebuild status of p6eval (meaning, when's the last time it tried, and whether it succeeded)? | 04:06 | |
04:07
t5a joined
|
|||
t5a | How I can Start GUI in perl? | 04:09 | |
geekosaur has no clue what you are trying to ask | 04:17 | ||
also, if this is a question involving perl 5, try #perl | |||
japhb_ | r: say «««»»».DUMP | 04:21 | |
p6eval | rakudo 5adc4d: OUTPUT«Parcel<1>(:$!storage(RPA<2>( "«", List<4>( :$!flattens(Mu), :$!items(▶Mu), :$!nextiter(ListIter<6>( :$!list(=List<4>), :$!reified(▶Mu), :$!nextiter(▶Mu), :$!rest(RPA<7>(MapIter<8>( … | ||
japhb_ | diakopter, ^^ | ||
diakopter | how you fix it | 04:24 | |
I'll armor your dump | |||
japhb_ | diakopter, the last three commits. :-) | ||
You should run it locally, too. It's a pretty astonishingly large dump for a six-character expression. | 04:25 | ||
r: say DUMP(\()) | 04:27 | ||
p6eval | rakudo 5adc4d: OUTPUT«Capture<1>( :$!list(Parcel<2>(:$!storage(RPA<3>()))), :$!hash(Hash<4>( :$!descriptor((null)), :$!storage(Hash<5>()) )))» | ||
diakopter | r: say DUMP(.^methods) | 04:28 | |
p6eval | rakudo 5adc4d: OUTPUT«Unmarshallable foreign language value passed for parameter '$value' in method new at src/gen/CORE.setting:6611 in block at src/gen/CORE.setting:6743 in sub coro at src/gen/CORE.setting:5911 in method reify at src/gen/CORE.setting:5893 in method reify at … | ||
diakopter | ftw, first try | ||
japhb_ | KAAAAAAAHHHHHHHHHNNNNNNNNN!!!! | ||
;-) | |||
diakopter | "Fire....." | 04:29 | |
04:34
t5a left
|
|||
diakopter | r: say «««»»».DUMP.chars | 04:44 | |
p6eval | rakudo 5adc4d: OUTPUT«2734» | 04:45 | |
diakopter | r: say «««««««««««««««»»»»»»»»»»»»»»».DUMP.chars | 04:46 | |
p6eval | rakudo 5adc4d: OUTPUT«(timeout)» | ||
diakopter | yeah........ | ||
*whimper* | |||
geekosaur wonders if you've written fibonacci or something | |||
r: say ««««»»»».DUMP.chars | 04:48 | ||
p6eval | rakudo 5adc4d: OUTPUT«3918» | ||
geekosaur | at least it's not ackermann's function | ||
diakopter | japhb_: confused.... | 04:50 | |
«««»»» | |||
um | |||
r: say ({ $_ := .DUMP } for ^200) | |||
p6eval | rakudo 5adc4d: OUTPUT«0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91… | ||
04:53
Bzek left
|
|||
japhb_ | diakopter, what are you confused by? | 04:57 | |
diakopter | sorry, being dense | 04:58 | |
05:01
frdmn left
05:02
Bzek joined
05:04
Bzek left
05:05
d4l3k_ joined,
dalek left,
d4l3k_ is now known as dalek
05:32
bbkr left
05:41
daniel-s__ joined
05:45
cibs left,
daniel-s_ left
05:47
cibs joined
05:50
FROGGS_ left
05:53
frdmn joined
05:55
arcterus joined
05:56
SamuraiJack joined
06:03
rindolf left,
FROGGS_ joined,
rindolf joined
06:05
arcterus left
06:17
kurahaupo left
06:31
wtw_ left,
wtw joined
06:32
rindolf left,
rindolf joined
06:59
domidumont joined
07:04
domidumont left
07:06
brrt joined
07:09
arlinius left
|
|||
moritz | \o | 07:09 | |
timotimo | good day moritz | 07:10 | |
07:11
kivutar joined
07:14
domidumont joined
07:16
kshamen joined
|
|||
nwc10 | jnthn: back to "the ususal" | 07:18 | |
brrt | hi #perl6 | 07:19 | |
07:20
labster joined
|
|||
FROGGS_ | morning | 07:20 | |
07:23
domidumont left
07:24
domidumont joined
|
|||
labster | morning | 07:25 | |
diakopter | morning. | ||
.. and yet, bedtime. | 07:26 | ||
07:27
BigBear joined
|
|||
labster | It should be bedtime for me too. Let's just pretend I live in Hawaii so I can get a couple more hours. | 07:27 | |
07:28
brrt left
|
|||
vaelxon | xkcd.com/448/ | 07:28 | |
07:35
sqirrel joined,
brrt joined
|
|||
jnthn | nwc10: Is that in master or in the branch? | 07:40 | |
nwc10 | the branch | 07:42 | |
master hadn't changed, IIRC | |||
jnthn | Ah, true :) | 07:45 | |
jnthn will merge the branch later today | |||
timotimo | was ASM only suggested because of a nicer API? performance? size of library? | 07:49 | |
jnthn | timotimo: API did actually match better, and it is faster, but its much better invokedynamic support was what convinced me. | 07:50 | |
labster | FROGGS_: I'm still a bit stuck on the naming of the splitpath/catpath alternates. File::Spec.split and .join sound okay, because it's splitting and joining a file specification. But if one does my $sp = File::Spec; ... $sp.join($path) -- it looks like it might be joining a string. | 07:52 | |
Thinking about path2vdb (volume-directory-basename) and vdb2path, but those seem inelegant too. Maybe just multi-dispatch splitpath and catpath based on whether they want basename? | 07:53 | ||
07:53
ilbot6 left
|
|||
timotimo | jnthn: considering my brownian tree example takes about 2000 seconds to calculate, you make me happy every time you mention "faster" (although i imagine this is only compile time speed-ups) | 07:54 | |
labster | we're all happy any time jnthn++ mentions "faster" | 07:56 | |
07:57
BigBear left
07:58
kivutar left
07:59
domidumont left,
kivutar joined
08:01
cognominal joined
08:03
rgc left
08:05
berekuk joined
08:11
xinming left,
cognominal left
08:13
xinming joined
08:18
cognominal joined
08:31
dakkar joined,
Heather joined
|
|||
Heather | hi there | 08:31 | |
I need some regex guru ( | |||
moritz hands Heather a plastic regex guru | 08:32 | ||
Heather | moritz hi | ||
I'm trying to handle file names alike qwe.4.1.JPG | |||
but I don't know even how to set rule string to be separated buy dots | 08:33 | ||
I mean... alike in example | |||
moritz | in what way do you need to "handle" them? | 08:34 | |
what's the goal of parsing them? | |||
or do you want to find them in a string? | |||
Heather | well first part is any string... I guess \\w+ ? | ||
second part is any number | |||
and last part is [1-2] (1 or 2) | |||
and some extension | |||
I'm trying to check if there are files named following this rule | 08:35 | ||
jnthn | If you just want separated by dots, just .split('.') :) | ||
08:35
fhelmberger joined
|
|||
moritz | jnthn: that's why I asked what the purpose is | 08:35 | |
Heather: \w+ isn't "any string" | |||
Heather | well I need to examine if file satisfy all the rules ... | ||
moritz | sounds like you want something like | 08:36 | |
Heather | moritz that's bad | ||
moritz | if $fn ~~ /\. \d+ .. [1|2] \. \w+ $ / | ||
Heather | it's modern regex? :( | 08:37 | |
moritz | modern? | ||
Heather | new perl6 regex ) | ||
08:37
kresike joined
|
|||
kresike | hello all you happy perl6 people | 08:37 | |
moritz | well of course; this is #perl6 :-) | ||
Heather | krunen hi | ||
moritz for now I need regular one ) but thank you, it will be easier for me to convert I guess | 08:38 | ||
FROGGS_ | labster: how do you wanna distinguish if you get a basename to catpath, if you just slurp an array? | 08:42 | |
08:43
bruges left,
bruges joined
|
|||
labster | use a named argument like :usebasename? | 08:43 | |
diakopter | Heather: in a phrasing such as (haha ) ) , how can I one tell which is the smiley | 08:45 | |
Heather | diakopter eh? | 08:46 | |
FROGGS_ | labster: hmmm, then you could pass the base name as :basename | ||
labster | FROGGS_: actually, for now, I just decided to use .split and .join until someone decides to complain. There already was a join alias for catfile, so I might as well repurpose that. | 08:47 | |
FROGGS_ | ya | 08:48 | |
08:48
kaleem joined
|
|||
labster | If no one complains I obviously didn't do anything wrong. The whole goal of this is for the low-level parsing of file paths to be available, but hard, while IO::Paths are easy to manipulate. | 08:48 | |
08:51
berekuk left
08:55
BigBear joined
08:56
grondilu joined
09:00
grondilu left
09:01
berekuk joined
09:03
domidumont joined
|
|||
BigBear | Good morning #perl6 | 09:05 | |
moritz | good morning BigBear | 09:07 | |
09:24
kshamen left
09:38
bruges left
09:41
bruges joined
|
|||
labster | just wrote: if all($directory, $file) eq any('/','\\') | 09:42 | |
♥ junctions so much | |||
masak | :) | 09:43 | |
I hardly ever use them as first-class thingies, though. | |||
maybe that extra bit of freedom is sometimes worth it... but I try very hard not to make junctions leak from my APIs, for example. | 09:44 | ||
09:45
daxim joined
|
|||
masak | I could very well live with junctions that were just syntactical. | 09:45 | |
moritz | occasionally they are very handy as arguments to grep | 09:46 | |
where it wouldn't work if they were just syntactical | |||
masak | yes. | ||
moritz | but maybe it'd be worth it | ||
and we'd get rid of that weird Mu/Any distinction | |||
masak | and once I wrote a script when I stored them as values in a hash table. the use is the same really, because I put them in a grep later on. | 09:47 | |
moritz: warping the type system to accommodate junctions always felt weird to me, even before I knew a lot about type systems. | |||
moritz: but I think it's too late to affect such a change. | |||
09:55
domidumont left
|
|||
jnthn | Having it fall out of the type system means it's much less of a special case. | 09:57 | |
We push a lot of distinctions into the type system in Perl 6, so it's a fairly natural way to do it. | |||
09:58
berekuk left
10:00
cognominal left,
anuby joined
10:02
anuby_ left
|
|||
daxim | teach me using the docs: if I want to look up the syntax for interpolating expressions (like babycart in p5 and #{} in ruby), where do I go first? | 10:02 | |
moritz | S02 | 10:03 | |
'cause S02 deals with nearly all syntax stuff | |||
timotimo | ... babycart? | ||
moritz | @{\[ ... ]} iirc | 10:04 | |
10:05
brrt left
|
|||
daxim | can that be made discoverable somehow? I don't know that S02 equals syntax, I need to be told or shown a click trail | 10:05 | |
10:05
brrt joined,
brrt left
|
|||
masak | moritz: \ and [] are kinda redundant. | 10:05 | |
10:06
anuby left
|
|||
daxim | the official title of S02 is "Bits and Pieces" | 10:06 | |
masak | heh. | 10:07 | |
I think of it as "Syntax" :) | |||
daxim | sorry, this is terrible usability | ||
masak | granted. | ||
daxim: that chapter title is taken from the Camel book, IIRC. | |||
10:07
Heather left,
tgt joined
|
|||
masak | daxim: yep. just confirmed. | 10:08 | |
fwiw, I think of S02 as "Syntax and basic types". | |||
I guess the syntax is the "pieces" and the basic types are the "bits" :P | |||
daxim | rakudo: Qc'yayxpression! { 3+3 }'.say | 10:11 | |
p6eval | rakudo 5adc4d: OUTPUT«yayxpression! 6» | ||
daxim | aha, that worked | ||
rakudo: c「yaynicode! { 23+42 }」.say | 10:14 | ||
p6eval | rakudo 5adc4d: OUTPUT«===SORRY!===Two terms in a rowat /tmp/B1J_fEtRHh:1------> c⏏「yaynicode! { 23+42 }」.say expecting any of: argument list postfix infix stopper infix or meta-infix statement end … | ||
daxim | where does the adverb go? | ||
10:17
domidumont joined,
Heather joined
|
|||
Heather | p5: say "hi" | 10:18 | |
p5eval: say "hi" | |||
p5eval | Heather: hi1 | ||
Heather | p6eval: say "1.2.1.1" =~ "(\\%s)(\\.)(\\d+)(\\.)([1-2])(\\.)(\\w+)" | ||
p5eval: say "1.2.1.1" =~ "(\\%s)(\\.)(\\d+)(\\.)([1-2])(\\.)(\\w+)" | 10:19 | ||
p5eval | Heather: 1 | ||
Heather | ... | ||
1? | |||
Timbus | p5eval: "" | ||
p5eval | Timbus: No output | ||
Timbus | p5eval: say "" | ||
p5eval | Timbus: 1 | ||
daxim | the expression is true, what else do you expect? | ||
Heather | p5eval: say "1.2.1.1" =~ "(\\1)(\\.)(\\d+)(\\.)([1-2])(\\.)(\\w+)" | ||
p5eval | Heather: 1 | ||
Timbus | yea | ||
Heather | daxim I expect false | 10:20 | |
Timbus | p5eval: say "1.2.1.1" =~ "(\\1)(\\.)(\\d+)(\\.)([1-2])(\\.)(\\w+)"; -5 | ||
p5eval | Timbus: -5 | ||
Timbus | :3 | ||
daxim | p5eval: say for "1.2.1.1" =~ "(\\1)(\\.)(\\d+)(\\.)([1-2])(\\.)(\\w+)" # let's try list context for the binding op | ||
p5eval | daxim: No output | ||
Timbus | oh boy contexts | 10:21 | |
FROGGS_ | p5eval: unless( 0e0 ) { ... } elseif( 0 ) { } else { "yay"} | 10:22 | |
p5eval | FROGGS_: ERROR: syntax error at (eval 7) line 1, near ") {" | ||
Heather | !!! | ||
FROGGS_ | p5eval: unless( 0e0 ) { ... } elsif( 0 ) { } else { "yay"} | ||
p5eval | FROGGS_: ERROR: Unimplemented at (eval 7) line 1. | ||
FROGGS_ | p5eval: unless( 0e0 ) { } elsif( 0 ) { } else { "yay"} | ||
p5eval | FROGGS_: No output | ||
FROGGS_ would like to add statement modifier loops and continue block to make it worse | 10:23 | ||
huf | continue blocks go on loops | ||
if aint one, afaik | |||
labster | FROGGS_ needs to implement the ufo operator next | 10:25 | |
10:25
Heather left
10:29
bbkr_ joined
10:32
cognominal joined
10:33
labster left,
BigBear left
10:35
rindolf left
10:39
bbkr__ left
|
|||
lizmat | good postnoon #perl6 | 10:39 | |
www.smbc-comics.com/index.php?db=co...2939#comic | |||
so true | |||
FROGGS_ | !!#&@! looks really perly :o) | 10:41 | |
masak | lizmat: wow, yes. | 10:42 | |
11:02
fhelmberger left
11:03
fhelmberger joined
11:04
brrt joined
|
|||
cognominal | .u ▢ | 11:11 | |
yoleaux | U+0023 NUMBER SIGN [Po] (#) | ||
U+0026 AMPERSAND [Po] (&) | |||
U+0033 DIGIT THREE [Nd] (3) | |||
cognominal | .u ▢ | 11:12 | |
yoleaux | U+0023 NUMBER SIGN [Po] (#) | ||
U+0026 AMPERSAND [Po] (&) | |||
U+0032 DIGIT TWO [Nd] (2) | |||
brrt | yoleaux is a bot? | 11:13 | |
cognominal | yoleaux, help .u | 11:14 | |
yoleaux, help | |||
FROGGS_ | .help | ||
yoleaux | FROGGS_: I'm yoleaux. Type .commands to see what I can do, or see dpk.io/yoleaux for a quick guide. | ||
FROGGS_ | .commands | ||
yoleaux | Commands are divided into categories: general, services, admin, api, demos. Use .commands <category> to get a list of the commands in each. | ||
FROGGS_ | .commands services | 11:15 | |
yoleaux | Commands in services: acronym, add-command, beats, bitcoin, cat, command-help, del-command, dety, flip, geo, google, lastfm, leo, meow, moon, ngrams, nokiageo, nownext, o, oed, pass-rate, rb, republical, rot13, scm, shipping, suggest, swhack, thesaurus, ud, weather, yi, youtube. Use .help to get information about them. | ||
cognominal | .help .u | ||
yoleaux | Search for a Unicode character by codepoint, name, or raw character | ||
cognominal | .u 25A2 | 11:16 | |
yoleaux | U+25A2 WHITE SQUARE WITH ROUNDED CORNERS [So] (▢) | ||
11:16
BigBear joined
|
|||
colomon | .u 9634 | 11:19 | |
yoleaux | No characters found | ||
FROGGS_ | .u 阴 | 11:22 | |
yoleaux | No characters found | ||
FROGGS_ | ENOTCOMPLETE | 11:23 | |
sqirrel | so habs paket weggebracht und milch gekauft | 11:25 | |
masak | .u characters | ||
yoleaux | U+1F007 MAHJONG TILE ONE OF CHARACTERS [So] (🀇) | ||
U+1F008 MAHJONG TILE TWO OF CHARACTERS [So] (🀈) | |||
U+1F009 MAHJONG TILE THREE OF CHARACTERS [So] (🀉) | |||
masak | :P | 11:26 | |
sqirrel | uups wrong window sorry | ||
FROGGS_ | hehe | 11:29 | |
>.< | 11:30 | ||
sqirrel++ | |||
brrt | that is such an awesome name for a bot | 11:36 | |
tadzik | oh, BigBear, hi | 11:37 | |
I glanced at the issue yesterday, and I'm not sure why would it work on osx but not on windows | |||
11:39
bbkr_ left
11:40
bruges left
11:47
sqirrel left
11:56
cognominal left
12:03
cognominal joined
12:10
BigBear left
|
|||
lizmat | rn say :!verbose.perl | 12:13 | |
rn: say :!verbose.perl | |||
p6eval | rakudo 5adc4d, niecza v24-35-g5c06e28: OUTPUT«"verbose" => Bool::False» | ||
12:13
domidumont1 joined
|
|||
lizmat | I guess .perl doesn't have to roundtrip source, just AST's, right? | 12:14 | |
12:15
domidumont left
|
|||
jnthn | The aim is to try and have .perl.eval round-trip | 12:21 | |
masak | lizmat: TimToady_ long wanted it to roundtrip source. but I have the feeling that the non-TimToady consensus is not to emit source code is part of function values. | ||
lizmat | ok, clear | ||
so in the end, .perl will emit source that will recreate the same AST | |||
jnthn | I keep wanting &some_regex.perl to give me the source though... | 12:22 | |
12:22
gcole joined
|
|||
masak | yeah. | 12:22 | |
jnthn | lizmat: ASTs are also very transient | ||
We don't execute the AST, it just exists during compilation, then once we have the bytecode for the target VM we just throw it away, for the most part | 12:23 | ||
lizmat | ack, so .perl.eval is the only thing we're sure that will roundtrip | ||
gotcha | |||
12:40
jerry66 joined,
domidumont joined
|
|||
jerry66 | www.reddit.com/r/XXXEROTICSXXX/comm...ave_a_fun/ | 12:40 | |
mattp__ | suspecting off topic... | ||
12:40
jerry66 left
|
|||
jnthn | Well, Perl 6 is -Ofun... | 12:42 | |
[Coke] | tadzik++ #pander | ||
12:43
domidumont1 left
12:51
dakkar left
12:52
ilogger2_ joined
13:03
bluescreen10 joined
|
|||
Woodi_ | hallo today | 13:05 | |
FROGGS_ | hi Woodi_ | ||
Woodi_ | I have that problem for some longer time... pastebin.com/Nj4B3pBz | ||
I didn't pustcode to github becouse this makes stop in basic functionality... | 13:06 | ||
masak | hi Woodi. | 13:11 | |
13:12
PacoAir joined
13:15
BigBear joined
13:22
denisboyun_ joined
|
|||
lizmat | rn: "\c[LINE FEED]" | 13:24 | |
p6eval | niecza v24-35-g5c06e28: OUTPUT«===SORRY!===Unrecognized character name LINE FEED at /tmp/5ykb57IjHH line 1:------> "\c[LINE FEED⏏]"Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5)  at /home/… | ||
..rakudo 5adc4d: OUTPUT«===SORRY!===Unrecognized character name LINE FEEDat /tmp/87bu8WhYz1:1------> "\c[LINE FEED⏏]"» | |||
lizmat | this is a failing rakudo spectest… is that correct ? | ||
afk for a few hours& | 13:26 | ||
jnthn | iirc, that's one of those funny wants that has the name <control> and you gotta look under the old name Unicode property to find it as LINE FEED... | ||
s/wants/ones/ | |||
though warts woulda worked... :) | |||
13:35
cognominal joined
13:37
colomon joined,
kaare_ joined
13:40
SmokeMachine joined
13:49
frdmn joined
13:56
shinobicl joined
14:13
tgt joined
14:23
Psyche^ joined
14:27
Psyche^ is now known as Patterner
14:39
xilo joined
14:40
xilo_ joined
14:41
frdmn left
14:42
arcterus joined
14:44
xilo_ left
14:49
ggoebel joined
14:52
arcterus left
14:54
kaleem joined
14:57
mmol_saffron joined
14:58
mmol_saffron left
15:00
skids joined
15:03
rindolf joined
|
|||
felher | masak: did you already do your 'perl6 workshop'? | 15:05 | |
15:05
estrabd joined,
estrabd left
15:06
estrabd joined,
cognominal left,
estrabd left
|
|||
dalek | p-jvm-prep/asm_port: 0866deb | jnthn++ | src/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java: Cleanup some dead code. |
15:10 | |
kresike | bye folks | ||
colomon | asm_port? | ||
jnthn | colomon: Replaces BCEL with ASM for code-gen | 15:11 | |
colomon does not know what either of those acronyms means... | 15:12 | ||
jnthn | colomon: They are different code-generation libraries. | ||
colomon is pretty sure you're not talking about the Autodesk Shape Manager.... | |||
jnthn | colomon: I went with BCEL (Bytecode Engineering Library) at first, but donaldh++ pointed out that a different library, ASM, was preferable in various ways. I agreed, he did the hard work, and yesterday I did the final fixes so we can switch over to it. | 15:13 | |
colomon | cool | ||
jnthn | colomon: This unblocks working towards making use of invokedynamic. | ||
colomon is googling this stuff in another window now. | |||
masak | felher: no, and I'm still mulling over it, and still wanting that perfect combination of enough participants and a date when maximally many are available. | 15:16 | |
felher: I still plan to do it. I have a half-finished schedule of Things To Talk About. | 15:17 | ||
dalek | Heuristic branch merge: pushed 20 commits to nqp-jvm-prep by jnthn | ||
jnthn | There we go. Merged. | ||
donaldh++ :) | |||
felher | masak: ah, okay. Well, since I have now completed my bachelor, I'm finally starting to get some free time again. So you may count me in. I'd really like to participate in your workshop :) | 15:19 | |
moritz | felher: congratulations! | 15:22 | |
felher | moritz: thank you :) | 15:23 | |
masak | felher: yes, congrats! and welcome aboard! | 15:24 | |
15:24
crab2313 joined
|
|||
masak | that makes Heather, tadzik, TimToady, census, timotimo_, and felher. | 15:26 | |
felher: when are you available? what about May 1st? | 15:27 | ||
nwc10 | jnthn: right now, is the NQP-JVM codegen actually still outputing Java 1.6 bytecode? | 15:30 | |
15:30
shinobicl left
|
|||
gtodd | masak I think I have cloned the tip ... will now try to merge something and make a "release" for my own edification :) | 15:32 | |
felher | masak: Thanks. Seems like a nice group :) Regarding May 1st: Don't know yet. Every couple of years we go out on May 1st with the wohle family. I will be able to tell you at the end of the week, though. :) | 15:33 | |
jnthn | nwc10: I don't think so. | ||
nwc10 | OK: :-/ | ||
jnthn | nwc10: Oh, wait, maybe... | ||
nwc10: Either way, invokedynamic usage will come soon, so... | |||
That'll force it to that if it's not already. | |||
nwc10 | yes, I realise that at that point it definately will be firmly beyond 6 | ||
felher | masak: how long will your workshop probably be? | 15:34 | |
[Coke] | java 7 ftw. mostly. | 15:35 | |
gtodd | masak: I'm assuming that in a real release scenario, the most git tools will somehow just let me know what "pull requests" (?) people have tested and approved for merging into a release ... otherwise things could be errm the opposite of the cheeseshop sketch | ||
masak | felher: it will probably stretch from 16:00 to 20:00 UTC or so. at least if people from the Americas want to participate. | 15:36 | |
felher: 3 or 4 hours sounds reasonable. but I'm not 100% about when it'll be. have to ask Heather, too, who is from the East. | 15:37 | ||
felher | masak: fair enough :) | 15:38 | |
15:40
BigBear left
|
|||
[Coke] | gtodd: in a real release scenario, you'd ship whatever had been pulled already. | 15:40 | |
masak | felher: am I thinking right with May 1? it will be a day when people are mostly off work, yes? | ||
[Coke] | if you were one of the developers, you could (as a previous step) review the pull requests and pull them yourself if you liked them. | 15:41 | |
masak | felher: the alternative would be to have it happen in the weekend, but that feels wrongish. | ||
[Coke] | ... which reminds me: there are 9 open pull requests that need tending. One is almost a year old. | ||
gtodd | oops I meant "the most excellent git tools" which is short for "some way of doing it without having to click all over the place on github ... etc. etc." | ||
dalek | rl6-roast-data: ef7d533 | coke++ | / (3 files): today (automated commit) |
||
rl6-roast-data: 784b762 | coke++ | / (3 files): today (automated commit) |
|||
felher | masak: I think you think right. :) On May 1st most people probably will be off work. But I for one don't have any problems with workshop on weekend either :) | 15:43 | |
15:44
tgt left
|
|||
gtodd | [Coke]: :-) now you see I can see those 9 request on github :-) ... I assume updates to my cloned repo would awake me from any slumber in some way and allow a pumpking or release manager to automatically harass the requesters and testers so those can be merged ... | 15:45 | |
[Coke] | dvj: I think it was you that modified S02-names-vars/perl.t - when fudging (and I missed this also when I reviewed your commit), be sure to avoid things like {{ #?pugs skip 'isn't working' }} - the nested single quote there throws off the parse of the whole file. | 15:46 | |
gtodd | [Coke]: or if merged by a too enthusiastic person or script and not playing nicely ... then backed out | ||
[Coke] | you need to use the webterface to see those. | ||
15:47
BigBear joined
|
|||
gtodd | ... and all of that somehow documented as a errm Release Engineering | 15:47 | |
[Coke] | I am not sure you can (easily) apply them from the command line. | ||
gtodd | hmm ok | ||
15:47
FROGGS joined
|
|||
[Coke] | gtodd: those are dealt with ad hoc, not as part of the release. | 15:47 | |
you are under no obligation as a release manager to deal with undealt with pull requests. (but you can if you want to.) | |||
gtodd | possibly they can be scripted - using perl 5 just to be safe ;-) | 15:48 | |
[Coke] | dvj: also, be sure to update the plan when you add tests. | ||
nwc10 | jnthn: "the usual", post merge | ||
gtodd | [Coke]: ok so because of ease of pull fork merge in git then chaos can ensue until closer to a release (either a timed release or some testing blocking bug style release) | 15:49 | |
[Coke] | dvj: ... when there is one. curses. | 15:50 | |
15:51
tgt joined
|
|||
masak | felher: ok. I'll try to get in touch with more people and ask them too. thanks for your feedback! | 15:51 | |
and your interest. | |||
felher | masak: thanks for doing a workshop! :) | ||
dalek | ast: 64c7348 | coke++ | S02-names-vars/perl.t: pugs refudge |
15:52 | |
gtodd | [Coke]: only really familiar with release process of FreeBSD-#.#-RELEASE (by observing as a user; not by being involved) and I am interested to see how git as a process is used by perl6/rakudo | ||
[Coke] | gtodd: "we release once a month whether we need to or not". | 15:53 | |
I wouldn't say we use git to drive the process. | 15:54 | ||
masak | [Coke]: fwiw, there hasn't been a month where there wasn't anything new in Rakudo. | ||
[Coke] | nom is the branch we release from. we are not sticklers about things passing on nom before commit (but please try to make sure they do), but we do make sure that the full spec test suite passes before a release. | 15:55 | |
masak: new ne release worthy, but aye. | |||
gtodd | ah ok | 15:56 | |
[Coke] | I think we've had 2 cases where we've had to release a bugfix compiler release shortly after the initial release due to missed bugs. | ||
in general, big merges are better immediately after a release to give us a more time to test. | 15:57 | ||
but none of that is driven by code, or by a specific branching methodology. | |||
16:00
frdmn joined
16:29
isBEKaml joined
16:32
Chillance joined
|
|||
isBEKaml | masak: you now have another scheduling headache. :) Count me in for your perl6 workshop! | 16:32 | |
nwc10 | p5eval: $* = \*STDERR; print $*foo | 16:33 | |
p5eval | nwc10: foo1 | ||
16:33
kaleem left
|
|||
nwc10 | where did that 1 come from? | 16:33 | |
jnthn | return value of print | 16:34 | |
nwc10 | p5eval: print 1 | ||
p5eval | nwc10: 11 | ||
isBEKaml | nwc10: eval thingy return value. | ||
nwc10 | p5eval: print "1\n" | ||
p5eval | nwc10: 11 | ||
nwc10 | p5eval: print "hello world Newline!\n" | ||
p5eval | nwc10: hello world Newline!1 | ||
isBEKaml | p5eval: "Hello World!\n"; | ||
p5eval | isBEKaml: Hello World! | ||
huf | p5eval: print "things"; '' | ||
p5eval | huf: things | ||
nwc10 | ah | ||
huf | le trick. | ||
nwc10 | p5eval: $* = \*STDERR; print $*foo; | ||
p5eval | nwc10: foo1 | ||
nwc10 | anyway. I'll go back to torturing the perl 5 parser | 16:35 | |
isBEKaml | .tell masak, 1600-2000 hrs UTC sounds alright to me, though I'm not sure I can last the entire session. Thanks for doing the workshop! | 16:36 | |
yoleaux | isBEKaml: I'll pass your message to masak,. | ||
masak | isBEKaml: :) | ||
isBEKaml | yoleaux: you're bad at passing messages. | ||
masak | consider the message received, though. | ||
huf | :) | ||
isBEKaml | masak: :) | ||
masak | isBEKaml: if I remember correctly where you live, your TZ and Heather's should be about the same. | 16:37 | |
huf | i bet there's a million jokes about this situation | ||
isBEKaml | masak: If Heather's in UTC+4, I'm about 1.5 hrs east. :) | ||
[Coke] remembers an old google maps-style thing where we could record rough locations of developers for parrot, and wonders if such a thing exists today that doesn't involve over sharing | |||
isBEKaml | [Coke]: #haskell too had something like that, I think. | 16:38 | |
[Coke] was excited, until he realized he is utc MINUS 4, and therefore no where near isBEKaml. :) | |||
isBEKaml | [Coke]: lol, we are all on IRC, right? :) | 16:39 | |
huf | i live on something like utc-4 or so, but the place i live moves on utc+1 :) | 16:40 | |
masak | if there are both a lot of UTC-plus people and a lot of UTC-minus people, I could deliver the workshop twice that day -- once in my morning for the easterners, and once in my evening for the westerners. | 16:42 | |
that's definitely an option. | |||
geekosaur | @localtime | ||
oh, lb doesnt hang here any more | |||
masak | thankfully :) | ||
isBEKaml | masak++ # more practice, more tuning! but we easterners are the guinea pigs :) | 16:43 | |
masak | (turns out lambdabot wasn't very compatible with a channel about a language with variables with the @ sigil) :P | ||
I'll only deliver it twice if there are enough signups from both hemispheres, mind. | |||
isBEKaml | quick people, overwhelm masak! :P | ||
geekosaur | in any case it's just /ctcp time :p | 16:44 | |
16:45
sjohnson joined
|
|||
masak | sjohnson! \o/ | 16:45 | |
sjohnson | :3 | ||
hello masak, long time no see | |||
masak | indeed! | ||
sjohnson: we're talking about a Perl 6 workshop. would you be interested? | |||
16:46
SamuraiJack joined
|
|||
sjohnson | where would it be located? | 16:47 | |
isBEKaml | masak: will there be channel logs? | ||
dalek | p-jvm-prep: a51b6a4 | jnthn++ | / (2 files): Basic code-gen support for invokedynamic. |
16:49 | |
p-jvm-prep: 36b6176 | jnthn++ | / (2 files): Start using invokedynamic for wval lookups. This uses the invokedynamic bootstrap mechanism to install a resolver for the first time the WVal is needed, doing the hash and index lookup once and then using the resolved object. In theory, this tells the JVM enough to make WVals be JITted like static data after a first lookup. |
|||
masak | isBEKaml: moritz++ says yes. | ||
isBEKaml | jnthn: invokedynamic already? are you targetting jdk7? :) | 16:50 | |
masak | sjohnson: in a channel close to this one. | ||
isBEKaml | masak: awesome! moritz++ | ||
jnthn | isBEKaml: Yeah. That is the very first usage of it, not even for calls but just for wval lookups. It's the Simplest Possible Useful Thing I can do with invokedynamic, which suits me well for the first thing :) | 16:51 | |
isBEKaml: Beyond this I plan to start using it for calls. | |||
isBEKaml | jnthn: cool, delegates, dispatch? :) | ||
sjohnson | masak: oh. sure. | ||
jnthn | Guess I'll do sub calls first. | ||
Then look into method invocation. | |||
isBEKaml | jnthn++ | 16:52 | |
jnthn: I've been out of tune with nqp-jvm tasks and some amount of moe. :( | |||
jnthn | It'd be really cool to find a way to integrate it with multiple dispatch too, but I need a bit more thinking time to work that one out. | ||
isBEKaml | jnthn: I think jruby had those implemented in terms of invokedynamic. | 16:53 | |
jnthn | Yes, the jRuby source was what finally made me understand how you do Useful Stuff with invokedynamic :) | 16:54 | |
isBEKaml | jnthn: that's nice, steal from the best and make ours even better than them! :) | 16:55 | |
16:55
PacoAir left
16:56
PacoAir joined
16:57
spider-mario joined
|
|||
tadzik | felher: I envy you for the finished bachelor :) | 17:02 | |
lizmat | should make spectest of rakudo be clean or not? | ||
tadzik | more-less ;) | 17:03 | |
lizmat | so a failing test because "\c[LINE FEED]" doesn't even compile, should be ok? | 17:04 | |
rn: "\c[LINE FEED]" | |||
p6eval | niecza v24-35-g5c06e28: OUTPUT«===SORRY!===Unrecognized character name LINE FEED at /tmp/f2insbnQu3 line 1:------> "\c[LINE FEED⏏]"Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5)  at /home/… | ||
..rakudo 5adc4d: OUTPUT«===SORRY!===Unrecognized character name LINE FEEDat /tmp/8cAFzcnKEi:1------> "\c[LINE FEED⏏]"» | |||
felher | tadzik: Why envy? :) | ||
nwc10 | lizmat: I've got some perl 5 code (and C code) which can do all those lookups using only about 300K of data | 17:05 | |
including aliases such as "LINE FEED" | |||
lizmat | aka, an ICU lib replacement ? | ||
nwc10 | aliaes are easy. 300K is not | ||
not an ICU replacement. At all | |||
just name->code point lookup | |||
lizmat | ack | ||
a subset of ICU | 17:06 | ||
nwc10 | not a subset. A one trick pony :-) | ||
tadzik | felher: I'm going through this now, and it's happening to be a little bit of a PITA | ||
lizmat | nwc10: aha, ok | 17:07 | |
something to integrate into nqp perhaps ? | |||
[Coke] | lizmat: is your rakudo linked to ICU? | 17:09 | |
lizmat | I thought it was, but am not sure anymore | ||
masak | sjohnson: cool! how does May 1 sound? | 17:10 | |
felher | tadzik: (After looking up PITA) yeah. Especially the last semester was quite stressful. But it was worth the effort :) I wish you the best of luck for your (computer science?) bachelor :) | ||
tadzik: in which semester are you? | |||
[Coke] | lizmat: so, might be a test that needs ICU but isn't marked as such. | ||
jnthn | shop, dinner, etc & | ||
[Coke] | which test? | ||
tadzik | felher: yeah, CS, and the last semester | ||
felher: I hope I won't end up delaying it more than half a year :P | 17:11 | ||
lizmat | [Coke]: t/spec/S02-literals/char-by-name.rakudo | ||
17:11
bbkr joined
|
|||
sjohnson | masak: sure | 17:12 | |
isBEKaml | masak: May 1 sounds good to me too. | 17:15 | |
tadzik | first of may, first of may | ||
outdoor... hacking starts today | |||
gtodd | :) | ||
isBEKaml | rappertadzik | ||
[Coke] thanks tadzik for cleaning that up | 17:16 | ||
tadzik | I altered original Coulton's lyrics a bit :P | ||
felher | tadzik: Well, while 6 semesters is the official usual duration of a bachelor of CS here, most of us here do it in 7 semesters. Nothing wrong with taking one semester more :) | ||
lizmat wonders how one can attend masak's Perl6 workshop | |||
tadzik | felher: it's normally 7 semesters here, then another 3 for a magister, for a total of 5 years | ||
it's my 7th semester now, but they shouldn't sack me unless I delay it more than 2 years ;P | |||
congrats on finishing it :) | 17:17 | ||
gtodd | are there any thought about what might consistitute a sort of almost default per6 GUI toolkit ? | ||
[Coke] | lizmat: it's marked as needing ICU. | ||
tadzik | gtk was the first one seriously running, I think | ||
felher | tadzik: thanks :) I'll hope you get it done without needing four extra semesters ;) | ||
gtodd | a la perl/tk except updated so it's really just a WebUI | 17:18 | |
tadzik: ah ok ... I thought maybe it would be bundled with it but be some revolutionary thing :) | |||
[Coke] | then pick mojo6 and we can run things locally via morbo. | ||
gtodd | [Coke]: yeah like that | ||
[Coke] | gtodd: there's enough revolution going on. we don't need to look for trouble. | 17:19 | |
gtodd | haha :) | ||
hoelzro | ahoy #perl6 | ||
isBEKaml | holazro! | ||
gtodd | maybe one day some version of perl6 will just tell parrot or whatever "render this in some SVG HTML5 way .." | 17:20 | |
tadzik | hai hoelzro! | ||
gtodd: I was pondering a thought of something DBI-ish, which abstracts the actual toolkit used and provides a common API for all of them | 17:21 | ||
17:21
dmol joined
|
|||
gtodd | tadzik: interesting ... I thought there was once a "pure perl" GUI ... that allowed for quick plotting etc. that sort of did the same thing ... kind of like how "R" does dev(jpg|png|opengl|svg|web) | 17:24 | |
17:25
BigBear left
|
|||
tadzik | gtodd: Prima, maybe? | 17:25 | |
gtodd | ok maybe "R" doesn't do opengl | ||
isBEKaml | tadzik: I'll be interested to see if you succeed. GUI frameworks currently are a mess of API. :| | ||
gtodd | tadzik: yeah ! I was thinking primo or something like that | ||
17:26
snuffles joined
|
|||
tadzik | isBEKaml: well, db's have a common SQL. GUI toolkits have a common...nothing | 17:26 | |
gtodd | I guess "R" is sort of a console with various graphic plotting methods so comparing it to a full on tool kit for writing applications is probably wrong ... | ||
isBEKaml | tadzik: exactly my point. | 17:27 | |
tadzik | fundamental things like layouts or callbacks are completely different between, say, gtk and qt | ||
17:27
bruges joined
|
|||
tadzik | qt distinguishes between widgets and layouts, gtk doesn't | 17:27 | |
gtodd | but I'm just thinking of how perl6 could be sort of out of the box outfitted to do different kinds of graphic output not so much a toolkit | 17:28 | |
tadzik | gtk uses regular callbacks, qt invents signals and slots | ||
isBEKaml | tadzik: so if you succeed in unifying them all into a common layer of an interface, that'll be a huge deal. | ||
tadzik | yeah | ||
it'll probably end up nothing like either :P | |||
isBEKaml | tadzik: so far, I loved qt. GTK was a mess that I couldn't even get past hello world without some jumping around the steaming kettle. :D | 17:29 | |
gtodd | I installed what used to be a fairly simple application ipython for someone to do math plotting etc ... and 20-30 packages were installed ! | ||
isBEKaml | tadzik: I never tried any other frameworks, so my experience is little-to-nothing here. | 17:30 | |
tadzik | isBEKaml: well, I found gtk simple and sane and Qt full of NIH | ||
let's have our own EVERYTHING! | |||
of course I'm exaggarating | |||
gtodd | Samsung seems to be building/supporting enlightenment's ETK | ||
tadzik | or however you write that | ||
isBEKaml | tadzik: heh - we'll turn the jungle by counting the leaves. | ||
tadzik | ayes :) | 17:31 | |
so yeah, that's a tricky business | |||
gtodd | which seems relatively small, featureful, nicely licensed ... | 17:32 | |
isBEKaml | so keep counting, I'll watch. :P | ||
tadzik | I think this will eventually turn into the "a new standard" situation | 17:34 | |
gtodd | I guess the set of features I'm interested in are more plotting PDL-ish instead of GUI application development toolkits | ||
tadzik | oh, you may like Math::Model and SVG::Plot | ||
gtodd | :) | ||
isBEKaml | gtodd: PDL? Is Rakudo in a state we can freely call into C/C++ libs? | ||
gtodd | isBEKaml: don't think so | 17:35 | |
isBEKaml | gtodd: or fortran. :) | ||
tadzik | I do think so | ||
C should be alright | |||
masak | lizmat: how to attend: that's a good question. maybe I should have some way to sign up. | 17:36 | |
lizmat | masak: is it IRL or not? | 17:37 | |
gtodd | tadzik: I imagine someone could use the *ahem* future new perl6 standard replacement for CGI.pm (dancer mojo plack??) to make something like the julia-lang console in SVG | ||
isBEKaml | lizmat: IVL. | ||
lizmat wouldn't mind driving up to Malmö | |||
gtodd | tadzik: js etc | ||
masak | lizmat: no, it's solely on IRC. | ||
isBEKaml | lizmat: or ITL. (this is over IRC) | ||
lizmat | ack, ok | ||
no travelling necessary then :-) | |||
masak | but I'm now at the point where I'd like to collab over a participants list. | 17:38 | |
lizmat | fwiw, it's in my agenda now :-) | ||
_sri | gtodd: trivial, canvas is more popular for that kinda stuff atm though | ||
masak | does anyone know a no-frills online public document editing system? | ||
so that people can easily sign themselves up. | |||
17:39
frdmn left
|
|||
lizmat | wouldnt a wiki be enough? | 17:39 | |
[Coke] | masak: docs.google.com | 17:40 | |
lizmat | one needs a google login for that, no? | ||
gtodd | _sri: yeah ... I guess when I'm thinking of something like a "defauilt" plotting surface it's a canvas | ||
[Coke] | masak: the catchall git repo for perl6. | ||
isBEKaml | lizmat: it is possible to make it anon edits too, that is no login necessary. | 17:41 | |
[Coke] | lizmat: yes. | ||
tadzik | masak: doodle.com | ||
masak | github.com/perl6/mu/wiki/perl6-wor...p-may-2013 | ||
people! sign up! | |||
[Coke] | ah, even better. | ||
tadzik | that's super-useful for this sort of stuff imo | ||
[Coke] notes that github editing sucks for co-temporal edits. | 17:42 | ||
dalek | rl6-roast-data: 040ecd5 | coke++ | / (3 files): today (automated commit) |
17:43 | |
masak | [Coke]: I changed you from "potential" to "audience". might be a safe category for more people. | 17:44 | |
isBEKaml | masak: you forgot Heather | 17:45 | |
masak | isBEKaml: and a few others who said yes before we settled on a date. | 17:46 | |
isBEKaml | masak: ah, okay | ||
masak | I'll ask her on twitter. | ||
vaelxon: ping | 17:49 | ||
timotimo: ping | 17:50 | ||
TimToady_: ping | |||
[Coke] | masak: ok. to me, audience sounds like more of a commitment than I am willing to make, but I defer to your judgement. | 17:53 | |
isBEKaml | [Coke]: audience is no commitment, it's drive-by assault. :P | 17:54 | |
masak | [Coke]: I understand. I'm mostly trying to create a category of people who answer "maybe" to the question of whether to participate. | 17:57 | |
(because that's not much more informative than what I already had) | 17:58 | ||
17:59
BigBear joined
18:05
isBEKaml left
|
|||
gtodd | heh if one googles for perl and linenoise (as in linenoise as replacment for readline) you see a lot of complaints about perl's syntax | 18:09 | |
masak | gtodd: Perl is occasionally ugly. but if you ask me, that's more a statement about the author of the code than about the language. | 18:11 | |
gtodd: regardless of the language I'm in, and regardless of the *size* or *lifetime* of the thing I'm writing, I spend quite a bit of time making things readable. | |||
gtodd: compared to other languages, Perl 5 and Perl 6 give me more knobs to twiddle to make things the way I prefer them. | 18:12 | ||
gtodd: it's only people who are not aware of those knobs (or who don't care enough about them) that will write ugly code. | |||
hope that makes sense. | |||
gtodd | masak: agreed it feels more like a real "language" to me (but I'm not a real programmer). Maybe perl6 should build and ship linenoise instead of readline so people can feign misunderstanding of the criticism... "yes perl comes with linenoise" | 18:13 | |
18:13
nyuszika7h_ joined
|
|||
hoelzro | a linenoise binding would be easy to write | 18:13 | |
with NativeCall | |||
18:13
xilo left
|
|||
gtodd | it's just down the street on github ;-) | 18:14 | |
PerlJam | masak: you should contrast with python where the code may *look* "pretty" but could be incomprehensible and you wouldn't be able to tell at a glance whereas with perl, it's easy to see :) | ||
hoelzro is working on POSIX bindings, with interesting results | |||
masak | PerlJam: yeah. I'd say Python pushes everything into the middle of the bell curve, making everything look the same. possibly prettier/more readable on average, but the brilliant bits are less brilliant. | 18:15 | |
gtodd | hoelzro: cool ... I'd rather perl's REPL came with linenoise (or libedit or whatever but linenoise is small) and required me to install readline and friends ... :) | ||
PerlJam | yes, that's an excellent way to put it. | ||
[Coke] wonders what linenoise is. | 18:16 | ||
18:16
xilo joined
|
|||
gtodd | github.com/antirez/linenoise | 18:16 | |
:-) | |||
18:16
nyuszika7h_ is now known as nyuszika7h
|
|||
gtodd | just a minimalist terminal/line editing library ... I think it forces an assumption of vt100 | 18:17 | |
18:18
dmol left
|
|||
[Coke] | gtodd: seems like a decent parrot project - add it to the probe when trying to find readline. | 18:18 | |
18:19
Heather joined
|
|||
Heather | masak hey | 18:19 | |
thank you for invite | |||
masak | \o/ | ||
Heather: just remembered that you were one of the original interested ones. | |||
Heather | =) | 18:20 | |
18:20
dmol joined
|
|||
Heather | masak well what's happening here? in nutshell | 18:21 | |
gtodd | [Coke]: whoa .. that could work | ||
masak | Heather: in the workshop? we spend four hours talking about interesting programming topics, how to become a better coder, how to make your code shine, and we experiement a lot with runnin Perl 6 code. | ||
colomon | masak++ | 18:22 | |
masak | Heather: all the participants will do some simple tasks. | ||
18:23
frdmn joined
18:25
dakkar joined
18:30
dakkar left
18:35
tgt left
|
|||
tadzik | let's maybe employ play-perl | 18:35 | |
masak | no, strike "simple". the tasks will be challenging-ish for newcomers and more experienced coders alike. :) | ||
tadzik: tell me more. | |||
tadzik | masak: play-perl.org/player/tadzik | ||
it's a collaborative todo thing | |||
people Like my tasks, and I get karma if I complete them | 18:36 | ||
18:36
japhb_ joined,
SamuraiJack left
|
|||
masak | tadzik: sounds good. if you meant for there to be a connection to the workshop though, I think you have to spell it out. :) | 18:36 | |
tadzik | hm | 18:37 | |
I think 3rd party can also complete the tasks | |||
so people may complete workshop exercises to get karma | |||
or something : | |||
masak | I plan to publish the tasks on the day of the workshop, so anyone can do them, participant or not, then or later. | 18:38 | |
I... I don't feel a need to do things through a 3rd-party TODO list... :) | |||
tadzik | :) | 18:39 | |
I know, that's probably overkill | |||
masak | especially as that would be One More Dependency, and one more thing for people to sign up to, for little reward. | ||
tadzik | ah, sure | ||
masak | the idea as such is interesting. just maybe not applicable for the workshop format. | 18:40 | |
FROGGS | .ask jnthn if I am allowed to push that gist.github.com/FROGGS/5fe2eb96e2515bf02a14 (would make collab easier) | 18:41 | |
yoleaux | FROGGS: I'll pass your message to jnthn. | ||
18:42
tgt joined
18:46
sqirrel joined,
domidumont joined
18:48
fgomez joined
18:51
\\fade joined
18:55
sqirrel left
18:57
gabriel_ joined
|
|||
Heather | masak when it will start? | 19:01 | |
ah sorry there is date time | |||
I can't parse it : T16:00Z | |||
moritz | 4pm in UTC timezone | 19:02 | |
19:02
Celelibi joined
|
|||
Heather | moritz is Txx:xxZ standard format for writing UTC time? | 19:02 | |
masak | yes. | ||
Heather: what's your time zone, ooc? UTC+4 ? | 19:03 | ||
moritz | Heather: it's ISO 8601 format | ||
Heather | masak UTC+4 , right | ||
then it will be 20->24 for me, not that good time I can't guarantee if I will be in | 19:04 | ||
19:05
fgomez left
|
|||
FROGGS | masak: you are talking about an online perl6 course? | 19:07 | |
a 'webinar' | |||
masak | FROGGS: yes. | ||
FROGGS: see github.com/perl6/mu/wiki/perl6-wor...p-may-2013 | |||
FROGGS | that's cool :o) | ||
masak | Heather: would it help you if I moved the starting time from 16:00 UTC to 14:00 UTC? | 19:08 | |
that would still be workable for most US people, I think. | |||
Heather | masak well 16 is even better | 19:09 | |
19:09
crab2313 left
|
|||
Heather | well it's not that bad time... ideal time will be something alike 9:00 UTC | 19:10 | |
19:10
crab2313 joined
|
|||
Heather | But I understand that it could affect other people | 19:10 | |
19:11
domidumont left
|
|||
jnthn | FROGGS: Is there a reason not to parse <version> and then have a if ~$<version><vnum>[0] eq '5' { ...the load stuff... } ? | 19:11 | |
yoleaux | 18:41Z <FROGGS> jnthn: if I am allowed to push that gist.github.com/FROGGS/5fe2eb96e2515bf02a14 (would make collab easier) | ||
FROGGS | jnthn: within the actions? | ||
jnthn | FROGGS: No, right there in the grammar | ||
FROGGS: At the moment you parse a normal version number, then check it's not 5 | 19:12 | ||
FROGGS: Why not just put a block instead of an assertion after the <version>, see if it is 5, and do the loading? | |||
FROGGS: Then we always parse <version> and just take action based on what is seen | |||
FROGGS | jnthn: ahh, now I know what you mean | ||
jnthn: I did it this way because version have to start with a 'v' | 19:13 | ||
and to be able to parse old-schools 'use 5.10', I made the 'v' optional | |||
Heather | I still think that perl6 needs something for building native image (jit) | ||
I can distribute scripts that easy w/o it | 19:14 | ||
FROGGS | Heather: what is 'native image'? | ||
19:15
fgomez joined
|
|||
Heather | FROGGS machine code | 19:15 | |
jnthn | std: use 5.10; | ||
p6eval | std 86b102f: OUTPUT«===SORRY!===Confused at /tmp/igDBTT2w4m line 1:------> use ⏏5.10; expecting any of: module_name versionParse failedFAILED 00:00 40m» | ||
FROGGS | std: use 6; # should work | ||
p6eval | std 86b102f: OUTPUT«===SORRY!===Confused at /tmp/x237qmurAZ line 1:------> use ⏏6; # should work expecting any of: module_name versionParse failedFAILED 00:00 40m» | ||
FROGGS | ohh, wait | ||
std: 6; # this should turn on lax mode | 19:16 | ||
p6eval | std 86b102f: OUTPUT«ok 00:00 41m» | ||
FROGGS | IIRC | ||
19:16
tgt left
|
|||
FROGGS | jnthn: I know that std does not allow 'use 5.10', but fiddling with hundrets/thousands of cpan-modules is rather a task for 10 years | 19:16 | |
.... that's why we should special-case the use of peril 5 | 19:17 | ||
jnthn | FROGGS: If we're using a Perl 5 module, should the use statement not carry it (use Foo:from<perl5>)? | 19:18 | |
lizmat | jnthn: only if "use" is called in a perl6 environment, I would say | 19:19 | |
after a "use v5", "use Foo:from<perl5>;" would be a syntax error, no? | 19:20 | ||
FROGGS | right, but I guess after 'use v5' you will only load Perl5 modules | 19:21 | |
jnthn | lizmat: Sure, but even then we know to interpret the use as a "use a Perl 5 module", so there's not am ambiguity. | ||
FROGGS | jnthn: I was hoping to support: bash~$ perl6 old_perl5_script.pl, without the need to change it at all | 19:22 | |
jnthn | I think I'm fine with the change going in to make "use v5" work, but less comfortable with making "use 5.10" style things happen without somebody like TimToady weighing in. | ||
FROGGS | k | 19:23 | |
anocelot | I'd still lobby for "abuse v5" ^.^ | ||
jnthn | FROGGS: How many scripts actually start with a "use 5.10" style thing? :) | ||
FROGGS | well *cough*, errrmmmm | ||
lizmat | jnthn: many, as they are needed to activate features such as "say" | 19:24 | |
FROGGS | I tend to 'use feature qw(say switch)' | ||
lizmat tends to "use 5.14" :-) | |||
flussence | I put "use 5.016" just to be a jerk | ||
FROGGS | hehe | 19:25 | |
flussence: a Perl joke, nice :o) | |||
flussence | though 99% of the time that stuff I write is for a tightly controlled perlbrew env anyway, so I may as well use everything on offer | 19:26 | |
19:26
xilo left
|
|||
lizmat | argh, indeed "use 5.014" :-) | 19:27 | |
flussence | (even though I don't *actually* use anything added since v5.12ish...) | ||
Heather | good night #perl6 :) | 19:28 | |
19:29
Heather left,
kaare_ left
|
|||
lizmat | jnthn: I think when the spec for "use v5" was written, there was only one good Perl 5 around (even pre 5.6, I would think) | 19:29 | |
since then, with "use 5.N" activating specific features, there is now much more code with "use 5.N" around then we had around the time the spec was written | 19:30 | ||
19:31
tgt joined
19:37
arcterus joined
19:43
fgomez left
19:44
fgomez joined
|
|||
lizmat | rn: say 10.rand.perl | 19:48 | |
p6eval | niecza v24-35-g5c06e28: OUTPUT«0.675530527101611e0» | ||
..rakudo 5adc4d: OUTPUT«7.38955708543898e0» | |||
lizmat | shouldn't that be "10.rand" ? | ||
colomon | lizmat: why? | ||
lizmat | seems wrong to me that this is constant folded | 19:49 | |
19:49
fgomez left
|
|||
colomon | lizmat: it's not | 19:49 | |
rn: say (10.rand).perl | |||
p6eval | niecza v24-35-g5c06e28: OUTPUT«4.8859148448733212e0» | ||
..rakudo 5adc4d: OUTPUT«3.33404456355737e0» | |||
colomon | you asked it to generate a random Num, then take the .perl of it. | 19:50 | |
lizmat | $ perl -MO=Deparse -E 'rand 10' | ||
rand 10; | |||
19:51
arcterus left
|
|||
moritz | deparse != .perl | 19:51 | |
the correct comparison would be perl -MData::Dumper -E 'print Dumper rand 10' | |||
19:52
rindolf left
|
|||
lizmat | aha, ok | 19:52 | |
lizmat adjusts mind | |||
moritz | rakudo doesn't have anything depars-y yet | ||
the fairest comparison might be perl -MO=Concise <prog> compared to perl6 --taget=ast <prog> | 19:53 | ||
FROGGS | *--target | 19:55 | |
19:56
berekuk joined
|
|||
moritz | ah yes, thanks | 19:56 | |
20:00
xilo joined
|
|||
masak | moritz++ # Dumper/.perl != Deparse | 20:02 | |
moritz: though Dumper can be made to deparse subrefs, with the appropriate options. | 20:03 | ||
lizmat wonders whether ".perl" shouldn't really be called ".lave" | |||
but only for a short moment | 20:04 | ||
20:08
labster joined
|
|||
rjbs | Booooo. :) | 20:13 | |
labster | masak: I would like to attend your workshop. UTC-7 geographically, though I personally am closer to UTC-10. But I can do normal people hours, for the workshop. | 20:14 | |
masak | labster: ok, adding you. | 20:16 | |
7 people. cool! :) | |||
20:23
pjcj joined
20:24
fgomez joined
20:25
bbkr left
20:26
\\fade left
20:27
pjcj left
|
|||
lizmat | std: my Buf $x; say $x ~< 1 | 20:27 | |
p6eval | std 86b102f: OUTPUT«ok 00:00 43m» | ||
lizmat | rn: my Buf $x; say $x ~< 1 | ||
p6eval | niecza v24-35-g5c06e28: OUTPUT«Unhandled exception: Buffer bitops NYI at /home/p6eval/niecza/lib/CORE.setting line 1504 (die @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 3426 (infix:<~<> @ 4)  at /tmp/Kx3TqpwaSx line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.settin… | 20:28 | |
..rakudo 5adc4d: OUTPUT«===SORRY!===Unable to parse expression in quote words; couldn't find final '>'at /tmp/8uNJj4pRtV:1------> my Buf $x; say $x ~< 1⏏<EOL> expecting any of: postfix infix stopper infix or meta-infix … | |||
20:28
pjcj joined
|
|||
lizmat | I guess the niecza error message is more informative :-) | 20:28 | |
dalek | p-jvm-prep: 02bb9ef | jnthn++ | src/org/perl6/nqp/ (2 files): Enable inlining of P6bigint into P6opaque. A tad cheaty, but will handle Perl 6's needs, which is The Goal. Up to 20 out of 36 passing in 60-bigint.t with this. |
20:31 | |
colomon | \o/ | 20:32 | |
jnthn tries to make sense of nqp::pow_I | 20:42 | ||
[Coke] | instead of .lave, could we call it .blave? (he said, bluffing.) | 20:44 | |
21:00
dmol left
21:06
crab2313 left
|
|||
dalek | p-jvm-prep: bccc2af | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/P6bigint.java: Fix incorrect import. |
21:11 | |
p-jvm-prep: 54104a2 | jnthn++ | / (2 files): Implement pow_I. |
|||
arnsholt | jnthn: Looks like you were able to make sense of it =) | 21:13 | |
jnthn | Yeah, I think I got it. :) | 21:14 | |
Those more mathematically knowledgable than I are most welcome to review it :) | |||
masak | looks nice :) | 21:15 | |
arnsholt | "Overflows integer. Terrifyingly huge, but try to cope somehow." =) | ||
masak | basically, you're finding all the special cases, and then delegating to Math.pow :) | 21:16 | |
arnsholt | jnthn: The second "base.compareTo(BigInteger.ONE) == 0" is superfluous, isn't it? | ||
It'll always be false, since the first if clause will always catch base == 1 | 21:17 | ||
jnthn | oh... | ||
colomon | errr, all the logic is duplicated, no? | 21:18 | |
jnthn | Then I guess the original code in Parrot is also redundant there too | ||
arnsholt | Or, at least that's what it looks like to me | ||
jnthn | colomon: It's as faithful a translation of nqp_bigint_pow as I could do, fwiw. :) | ||
arnsholt | I could be mistaken, obv =) | ||
jnthn | arnsholt: Yeah, looks like it to me. | ||
colomon | the logic's kind of botched anyway, I think... | 21:19 | |
jnthn | I can only claim it passes tests :) | 21:20 | |
oh ouch... | |||
There's a BigInteger.doubleValue() method | |||
But no method for getting from a double to a BigInteger. | |||
21:21
spider-mario left
|
|||
lizmat | rn: 1.say && 2.say || 3.say | 21:21 | |
p6eval | rakudo 5adc4d, niecza v24-35-g5c06e28: OUTPUT«12» | ||
lizmat | rn: 1.say && 2.say S|| 3.say | 21:22 | |
p6eval | rakudo 5adc4d: OUTPUT«123No such method 'postcircumfix:<( )>' for invocant of type 'Bool' in block at /tmp/uLMC7J_Juq:1» | ||
..niecza v24-35-g5c06e28: OUTPUT«===SORRY!===This macro cannot be used as a function at /tmp/5LsNJ3pUsv line 1:------> 1.say && 2.say S||⏏ 3.sayUnhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) … | |||
jnthn | oh...hah. :) BigDecimal.valueOf(num).toBigInteger() | 21:23 | |
lizmat | S03:4823 states that "The compiler is free to discard any C<S> metaoperator that is provably redundant, such as the one in C<S||>." | ||
so is this a bug? | |||
FROGGS | looks like | 21:24 | |
jnthn | Not sure we ever tried to implement S in Rakudo so far, fwiw | ||
Weird error, though | |||
FROGGS | r: say 1 S& 2 | 21:25 | |
p6eval | rakudo 5adc4d: OUTPUT«all()» | ||
dalek | p-jvm-prep: 4431604 | jnthn++ | / (2 files): Implement fromnum_I and tonum_I. |
||
jnthn | 31 out of 36. At this rate I'll have all the test file passing before sleep :) | ||
lizmat | jnthn++ | 21:26 | |
FROGGS | I wish I'd make such progress :/ | ||
currently fighting: while ( ) BLOCK continue BLOCK | 21:27 | ||
colomon | rn: say 2 ** 234582349058390583905839058493859438590385903543535345435 | ||
p6eval | niecza v24-35-g5c06e28: OUTPUT«(timeout)» | ||
..rakudo 5adc4d: OUTPUT«Inf» | |||
colomon | rn: say -2 ** 234582349058390583905839058493859438590385903543535345436 | ||
p6eval | niecza v24-35-g5c06e28: OUTPUT«(timeout)» | ||
..rakudo 5adc4d: OUTPUT«-Inf» | |||
colomon | ...seems like that should be +Inf, no? | ||
21:28
skids left
|
|||
lizmat | maybe the exponent is too large and became an uneven Num ? | 21:29 | |
21:29
bluescreen10 left
|
|||
colomon | lizmat: should be an even Bigint | 21:29 | |
21:29
bluescreen10 joined
|
|||
FROGGS | wow, Stage parse: 310s for a macosx in a virtualbox | 21:30 | |
lizmat | rn: say (1.say & 2.say) | ||
p6eval | rakudo 5adc4d: OUTPUT«12all(True, True)» | ||
..niecza v24-35-g5c06e28: OUTPUT«12all(Bool::True, Bool::True)» | |||
lizmat | rn: say (1.say S& 2.say) | 21:31 | |
p6eval | rakudo 5adc4d: OUTPUT«12all()» | ||
..niecza v24-35-g5c06e28: OUTPUT«12all(Bool::True, Bool::True)» | |||
lizmat | something is happening with "S&" in rakudo | ||
masak | 'night, #perl6 | ||
colomon | \o | 21:32 | |
dalek | p-jvm-prep: 7b74d10 | jnthn++ | / (2 files): Implement base_I. |
||
FROGGS | knight masak | ||
21:33
pib1908 joined
|
|||
FROGGS | lizmat: I have no idea where the metaops live, all I can say is there is no infix:S& | 21:34 | |
lizmat | yes, I got that | 21:35 | |
colomon didn't realize anyone had Sop implemented yet | |||
jnthn | Hm, I think it is being parsed... | ||
21:35
PacoAir left
|
|||
jnthn | token infix_prefix_meta_operator:sym<S> { <sym> <infixish('S')> {} <O=.copyO($<infixish>)> } | 21:35 | |
colomon | rn: say (1 S& 2) | 21:36 | |
p6eval | rakudo 5adc4d: OUTPUT«all()» | ||
..niecza v24-35-g5c06e28: OUTPUT«all(1, 2)» | |||
FROGGS | lizmat: wrt v5, I have the same issue on my mac | ||
lizmat | FROGGS: ack | 21:37 | |
FROGGS | lizmat: I can 'use v5' though, and it is picking up Perl5 module | 21:38 | |
lizmat | but that would mean changing the spectests ? | ||
FROGGS | but the TAP is exactly like yours, so fudge is ignoring the --add_use_v5 for some reason | ||
lizmat | adding 'use v5' to them? | 21:39 | |
BigBear | jnthn: just came across your perl6-debug screencast, sweet. jnthn++ the simple::poll perl6 code isn't per chance available as a git repo or zip or tarball somewhere? follwoing along woudl make experimenting a litl easier, same for the try and catch sessions. seeing the code in front of me and "playing" with it helps me learn. (in fact it's probably the only way I learned most perl-ish things) | ||
FROGGS | add "use Test;\nuse v5;\n" | ||
but that's basically the job of that fudge script :/ | 21:40 | ||
I'll fix it tomorrow morning, bed time now | |||
21:40
BenGoldberg joined
|
|||
BigBear | tadzik: sorry I missed your comment today. will try to catch you tomorrow ;-) | 21:40 | |
jnthn | BigBear: Hm, no repo at the moment, but you can copy-paste the code out of the slides at jnthn.net/papers/2012-yapceu-exceptions.pdf | 21:42 | |
lizmat | gnight FROGGS | 21:43 | |
goodnight #perl6 | 21:49 | ||
colomon | \o | 21:51 | |
jnthn | 'night, lizmat | 21:52 | |
dalek | p-jvm-prep: fab1b73 | jnthn++ | / (2 files): Implement expmod_I. |
||
p-jvm-prep: ef13c49 | jnthn++ | / (2 files): Implement div_In. |
|||
p-jvm-prep: e9826c5 | jnthn++ | t/nqp/60-bigint.t: Add fully passing 60-bigint.t. |
|||
colomon | \o/ | ||
jnthn | I think there's a handful of things that the tests don't cover, but that should be most of the big integer stuff done. | 21:53 | |
BenGoldberg | Your big integer pow_I is missing a few special cases... | 21:55 | |
When the exponent is positive and even, and the base is neg one, return pos one | 21:56 | ||
When the exponent is positive and odd, and the base is neg one, return neg one | |||
When the exponent is huge, and the base is less than neg one, return either Inf or -Inf depending on whether the exponent is odd or even | 21:57 | ||
When the exponent is negative, and the base is zero, return Inf | |||
In that last case, you might want to throw a division by zero, instead. | 22:01 | ||
22:02
denisboyun_ left
22:03
xilo left
|
|||
jnthn | BenGoldberg: Thanks! I don't have the energy to turn that into code/tests tonight, but I put it in a ticket so it isn't forgotten. | 22:05 | |
22:06
BigBear left
22:08
kurahaupo joined
|
|||
kurahaupo | good morning @p6 | 22:09 | |
dalek | p-jvm-prep: f9b69a1 | jnthn++ | src/org/perl6/nqp/runtime/Ops.java: Big Integer case of boolification spec. |
||
p-jvm-prep: 493742d | jnthn++ | docs/ROADMAP: Remove some completed ROADMAP items. |
|||
jnthn | o/ kurahaupo | 22:10 | |
22:19
xilo joined
|
|||
jnthn | sleep; 'night o/ | 22:20 | |
diakopter | o/ | ||
22:22
bluescreen10 left
22:34
edgeuplink joined
22:46
edgeuplink left,
arcterus joined
22:48
edgeuplink joined
22:50
census joined
22:53
edgeuplink left,
skids joined
23:01
arcterus left
23:02
arcterus joined
23:13
census left
|
|||
japhb_ | Did someone succeed in implementing a Perl 6 Grammar for C? | 23:14 | |
raiph | irclog.perlgeek.de/perl6/2013-03-29#i_6643290 | 23:16 | |
japb_: c11 parser with grammar: gist.github.com/andydude/5268163 | 23:19 | ||
japhb_: ^^ | |||
23:20
arcterus left
23:25
Chillance left
23:28
Patterner left
|
|||
japhb_ | raiph, oh very cool. | 23:29 | |
raiph | japhb_: yeah, adu++ | 23:38 | |
why were you asking about it? | |||
japhb_ | Is the intent of 'has $foo;' that $foo have no type constraint (Mu, effectively), or that it be implicitly 'has Any $foo;' ... because Rakudo does not seem to be enforcing that (at least not in the code I'm looking at). | ||
raiph | i think the default is supposed to be Any | 23:39 | |
(Any) | 23:40 | ||
japhb_ | raiph, As for C grammar, because I was thinking about parsing some C headers into NativeCall bindings. :-) | 23:41 | |
r: class Foo { has $.foo; method new($v) { $!foo = $v } }; Foo.new(Mu); | 23:42 | ||
p6eval | rakudo 5adc4d: OUTPUT«Nominal type check failed for parameter '$v'; expected Any but got Mu instead in method new at /tmp/tSz6xgw5Zt:1 in block at /tmp/tSz6xgw5Zt:1» | ||
japhb_ | OK, that way worked. Hmmm. | ||
r: class Foo { has $.foo; method new(Mu \v) { $!foo = v } }; Foo.new(Mu); | 23:43 | ||
p6eval | rakudo 5adc4d: OUTPUT«Cannot look up attributes in a type object in method new at /tmp/LZzbOpwtdc:1 in block at /tmp/LZzbOpwtdc:1» | ||
japhb_ | r: class Foo { has $.foo; method new(Mu $v) { nqp::create(self).BUILD($v) }; method BUILD(Mu \v) { $!foo = v } }; Foo.new(Mu); | 23:45 | |
p6eval | rakudo 5adc4d: ( no output ) | ||
japhb_ | Ah-ha! | ||
r: class Foo { has $.foo; method new(Mu $v) { nqp::create(self).BUILD($v) }; method BUILD(Mu $v) { $!foo = $v } }; Foo.new(Mu); | |||
p6eval | rakudo 5adc4d: ( no output ) | ||
23:45
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
japhb_ | r: class Foo { has $.foo; method BUILD(Mu $!foo) { } }; Foo.new(Mu); | 23:46 | |
p6eval | rakudo 5adc4d: OUTPUT«Cannot call 'new'; none of these signatures match::(Mu : *%attrinit):(Mu : , , Mu *%_) in method new at src/gen/CORE.setting:726 in block at /tmp/DpxJtJMbOE:1» | ||
raiph | ++japhb # thinking about a lazy impatient way to make boatloads of C libs available | ||
japhb_ | r: class Foo { has $.foo; method BUILD(Mu :$!foo) { } }; Foo.new(:foo(Mu)); | ||
p6eval | rakudo 5adc4d: ( no output ) | ||
japhb_ | r: class Foo { has $.foo; method BUILD(:$!foo) { } }; Foo.new(:foo(Mu)); | 23:47 | |
p6eval | rakudo 5adc4d: OUTPUT«Nominal type check failed for parameter '$!foo'; expected Any but got Mu instead in method BUILD at /tmp/hGS4NruKnN:1 in method BUILDALL at src/gen/CORE.setting:759 in method bless at src/gen/CORE.setting:743 in method new at src/gen/CORE.setting:728 in m… | ||
japhb_ | OK, so it looks like it's BUILD that has to enforce the type checking during instance construction .... | ||
r: class Foo { has Any $.foo; method BUILD(:$!foo) { } }; Foo.new(:foo(Mu)); | 23:48 | ||
p6eval | rakudo 5adc4d: OUTPUT«Nominal type check failed for parameter '$!foo'; expected Any but got Mu instead in method BUILD at /tmp/cI2gHNaDqy:1 in method BUILDALL at src/gen/CORE.setting:759 in method bless at src/gen/CORE.setting:743 in method new at src/gen/CORE.setting:728 in m… | ||
japhb_ | r: class Foo { has Any $.foo; method BUILD(Mu :$!foo) { } }; Foo.new(:foo(Mu)); | 23:49 | |
p6eval | rakudo 5adc4d: OUTPUT«Nominal type check failed for parameter '$got'; expected Any but got Mu instead in method BUILD at /tmp/1Yuu6mAyPJ:1 in method BUILDALL at src/gen/CORE.setting:759 in method bless at src/gen/CORE.setting:743 in method new at src/gen/CORE.setting:728 in me… | ||
japhb_ | ... and it looks like I was right, the 'has $.foo' type stricture is weaker than Any. | 23:50 | |
raiph | hmm | 23:51 | |
japhb_ | (At least as Rakudo implements it.) | ||
BenGoldberg | How hard would it be to implement a grammer or two to convert lex and yacc into perl6 grammers? | 23:54 | |
Then, you could use existing C language grammars | |||
diakopter | that's a cool idea | 23:56 | |
but since those languages include C.... | 23:57 | ||
japhb_ | BenGoldberg, there is an assumption in yacc's grammar that you are going to be compiling it to C, but you might be able to just ignore the C embedding. | ||
.oO( How do I safely iterate a VM-level hash that may contain unmarshallable values? ) |
23:59 | ||
EDUMPISHARD | |||
diakopter | ETRYALAXATIVE | ||
japhb_ | ewww. |