|
»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by moderator on 20 October 2009. |
|||
|
00:09
LylePerl joined
|
|||
| LylePerl | Hi All | 00:13 | |
| Sorry for my long absense | |||
| Anyone here? | |||
| oZ] | Sorta. :) | 00:15 | |
| LylePerl | Hi oZ] | 00:16 | |
| The main reason I've no time at the moment is that I've started an MSc in Software Engineering | 00:17 | ||
| part time | |||
| Trying to get my part time hours in and keep my business going in the recession leave little time for anyting else :( | 00:18 | ||
| Although an assignment has come up that I've been able to mostly base around Perl :) | |||
| Part of the assignment is future trends, I'm hunting out reference material | 00:19 | ||
| I've got Perl 6 and Parrot essentials | |||
| But I'm assuming any academic journal entries, etc, will have been written by people here | 00:20 | ||
| I'm hoping people might be kind enough to point me to them | 00:21 | ||
| I know a lot of you check the IRC logs, so when you read this, if you can think of any reference link please post them | 00:23 | ||
|
00:24
forb joined
|
|||
| LylePerl | On a side note, I've been talking with several of the Profs at the University and I've managed to get them to agree to me doing a Presentation on Perl for Students | 00:25 | |
| If all goes well hopefully that'll become a regular thing and I can drum up more interest :) | |||
| oZ] | That would be awesome, certainly. | 00:29 | |
| I'm a #perl6 newb, though, so I'm of little help other than 'awesome'. :) | 00:30 | ||
|
00:30
nihiliad joined
|
|||
| LylePerl | Hi oZ], thanks for the positive feedback | 00:30 | |
| pmichaud | LylePerl: I don't know if there are many "academic journal entries", but there are plenty of blog postings | ||
| LylePerl | I'm still a p6 newbie myself | ||
| pmichaud | try planetsix.perl.org for a relatively up-to-date list | ||
| LylePerl | hi pmichaud | 00:31 | |
| pmichaud | also see perl6.org for pointers to other current resources | ||
| LylePerl | I thought that might be the case | ||
| The challenge will be more convincing my examiner that those references are the most valid, than finding traditional academic 'peer reviewed' ones. | 00:33 | ||
| pmichaud | speaking as a former college professor... yes, that will be a challenge. :) | ||
|
00:34
orafu joined
|
|||
| LylePerl | pmichaud, any tips? | 00:34 | |
| pmichaud | not off the top of my head, no. | ||
| clearly there's a lot of 'peer review' that takes place in the Perl 6 world, it's just not refereed or highly academic | |||
| LylePerl | That what I was about to say :) | 00:35 | |
| *pretty much* | |||
| pmichaud | my suggestion would be to take Perl 6 features and relate it to published articles on those features | ||
| in many ways Perl 6 is extremely forward looking and aims to be the first real 21st century programming language | 00:36 | ||
| LylePerl | That's an excellent idea, thank you | ||
| pmichaud | certainly there would be a lot of legitimate research and discussion about Perl 6's form of parsing, since it's quite a bit different from traditional parsing techniques | ||
| LylePerl | I'm glad I was able to base with assignment on Perl. It's good to get back to reading up on something I love as opposed to all the Java/UML reading I've had to do | 00:40 | |
|
00:40
slashdot joined
00:41
somniculosus joined
01:02
seanstickle left
01:05
PZt joined
01:40
Psyche^ joined
01:44
Chillance joined
01:47
pnate joined
01:48
astrojp left
01:55
Whiteknight joined
|
|||
| spinclad | LylePerl: I think there should not be great difficulty in establish a 'web of trust' among Larry, the AES docs, #perl6 and #parrot, perl6.org, STD, rakudo and other implementations, parrot, their respective developers, and various related presentations. | 02:03 | |
| *establishing | |||
| *developers and their blogs | 02:06 | ||
| such that you can say for any given artifact that it has this place in the web of activity. | 02:11 | ||
| PerlJam | LylePerl: have you heard of ometa? tinlizzie.org/ometa/ | ||
|
02:11
wknight8111 joined
02:15
[synth] joined
02:37
gfx joined
02:45
TiMBuS joined
|
|||
| colomon | pmichaud: was just thinking I could hack by the infix:<*> problem for Rat by creating Rat.new(Num, Num). However, turns out Num.Int is NYI in ng either? | 02:49 | |
| I see in master, Num.Int looks to be in src/builtins/any-num.pir, but I don't understand the code well enough to translate it over to ng. | 02:52 | ||
| diakopter | how would one get the memory address of an object in NQP? | 03:17 | |
| (dear lazyirc,) | |||
|
03:24
Whiteknight joined
|
|||
| Wolfman2000 | ...don't think I'll be working on the website tonight. Got company now. | 03:25 | |
|
03:33
zloyrusskiy joined
|
|||
| pmichaud | colomon: feel free to implement Num.Int :-) | 03:33 | |
| but I don't think there should be a Rat.new(Num,Num) | 03:34 | ||
| (and the code that we have now doesn't send Nums to Rat anyway) | |||
|
03:34
jaldhar joined
|
|||
| pmichaud | diakopter: pir::get_addr__IP($obj) works | 03:35 | |
| diakopter | pmichaud: excellent; thanks | ||
| pmichaud | (not sure if that's correct long-term... Parrot has been talking about changing it) | ||
| diakopter | I was struggling with getting Q:PIR to grab a param | 03:36 | |
| pmichaud | params are just "find_lex" | ||
| diakopter | ah | ||
| a little birdy sent me a patch for nqp-rx with a hook for emitting pastjs.. | 03:37 | ||
| after fighting the Makefile.in for an hour, it works \\o/ | |||
| hook/stub | 03:38 | ||
|
03:38
meppl joined
|
|||
| diakopter | pmichaud: pir::get_addr__IP gave me -1229582980 | 03:39 | |
| intified, I guess | |||
| pmichaud | yeah, intified. | 03:41 | |
| diakopter | that's fine; I won't use it as an array index; just a hash index.. | 03:42 | |
| pmichaud | I've done that in a few places... works out okay | ||
| diakopter | pmichaud: to add an arbitrary property/attribute to a pmc...? | 03:44 | |
| (sorry for the n00bity) | |||
| pmichaud | setprop | ||
| for a property | |||
| attributes are addattribute, but we don't use those in PAST | |||
| diakopter finds docs.parrot.org/parrot/devel/html/s...c.ops.html | 03:45 | ||
| to check for Null, $pmc.isa(Null) ? | 03:49 | ||
| pmichaud | pir::isnull__IP($pmc) | 03:50 | |
| Null isn't a builtin type | |||
| diakopter | oh | ||
| pmichaud | (at least, I'm not sure it is) | ||
| I'm sure that Null doesn't have a protoobject :-) | |||
|
03:57
TiMBuS joined
|
|||
| jeremiah1 | perl6: my $x = "a"; if $x ~~ ("b", "c", "a") { say "yup" } else { say "nope" } | 04:01 | |
| p6eval | elf 29089: No viable candidate for call to multimethod infix__126_126($,$,$,$) at (eval 132) line 4 at ./elf_h line 5881 | ||
| ..pugs, rakudo 7347ec: nope | |||
|
04:03
meppel joined
|
|||
| quietfanatic | rakudo: class X {has $.x; submethod BUILD (:$.x) {} }; X.new | 04:04 | |
| p6eval | rakudo 7347ec: ( no output ) | ||
| quietfanatic | This gives me "cannot assign to readonly variable in submethod BUILD ..." | 04:05 | |
| diakopter | ng: say(&say) | ||
| p6eval | ng fc78cc: No such attribute '$!do'current instr.: 'perl6;Any;' pc -1 ((unknown file):-1) | ||
| quietfanatic | putting $.x is rw changes it, but I shouldn't need that. | ||
| jeremiah1 | perl6: my $x = "a"; if $x ~~ any("b", "c", "a") { say "yup" } else { say "nope" } | 04:07 | |
| p6eval | pugs, rakudo 7347ec: yup | ||
| ..elf 29089: Undefined subroutine &GLOBAL::any called at (eval 134) line 4. at ./elf_h line 5881 | |||
| quietfanatic | 'nother one: | 04:09 | |
| rakudo: module M {constant $DEBUG = 1}; say $M::DEBUG | |||
| p6eval | rakudo 7347ec: Use of uninitialized value | 04:10 | |
| quietfanatic | This ought to be 1 | ||
| pmichaud | rakudo may still have constants as lexically scopped | 04:11 | |
| *scoped | |||
| the spec changed on that relatively recently | |||
| quietfanatic | But check this: | ||
| actually never mind | |||
| don't check this :| | |||
| pmichaud: okay, it's workaroundable for now | |||
|
04:18
_jaldhar joined
04:27
_jaldhar joined
|
|||
| diakopter | nqp bug | 04:29 | |
| hrm | 04:30 | ||
|
04:32
oZ] joined,
am0c joined
|
|||
| pugs_svn | r29090 | lwall++ | [STD] unbreak checkyada | 04:34 | |
| diakopter | odd, I can't reproduce it in the small | ||
| diakopter frustrated | 04:42 | ||
| dalek | p-rx: ad79935 | pmichaud++ | src/PAST/Compiler-Regex.pir: Adjust PAST::Regex literal matching to handle runtime literals, PAST::Val constants. |
04:43 | |
| p-rx: 26ad71a | pmichaud++ | src/HLL/Actions.pm: Eliminate isaPAST in favor of Protoobject.ACCEPTS. |
|||
| diakopter | nqp: Foo::c('lala'); module Foo; my $a := ''; sub b () { say($a) }; sub c ($z) { $a := $z; b() }; Foo::c('hihi') | 04:46 | |
| p6eval | nqp: lalahihi | ||
| diakopter | nqp: module Foo; my $a := ''; sub b () { say($a) }; sub c ($z) { $a := $z; b() }; Foo::c('hihi'); # pmichaud, this gives nullpmcaccess in print, when Foo is compiled into nqp.pbc as a dependency of Compiler.pir... but if I change my $a to our $a, all is fine & dandy... is this by design? | 04:50 | |
| p6eval | nqp: hihi | ||
| diakopter | but it works fine in nqp evalbot | 04:51 | |
| heh | |||
| "it works fine" -> it works with 'my $a' as well as 'our $a' | 04:52 | ||
| 'It looks like you're trying to write a compiler. Would you like me to help you with that?' -- Clippy, in Visual Studio 2010 | 04:53 | ||
| pmichaud | diakopter: looks like you might want/need "our" on those sub definitions | 04:57 | |
| looking | 04:58 | ||
| diakopter | adding 'our' doesn't change anything | 05:00 | |
| pmichaud: in case you haven't seen this... www.cs.cornell.edu/Projects/polyglot/ppg.html also TimToady | 05:01 | ||
| pmichaud | I would expect it to work in both cases, yes. | 05:02 | |
| diakopter | hm | ||
| talk about rigid thinking: propella.blogspot.com/2009/11/woode...adder.html | 05:09 | ||
|
05:10
TiMBuS joined
05:32
oZ] joined,
oZ] left
05:36
frew_ joined
05:55
pointme joined
05:56
mubot joined,
zaslon joined
|
|||
| carlin | Maybe I should update my rakudo so I don't have the restart the bots every day ... | 05:57 | |
| japhb | Now that cotto++ has given Parrot read pipes the ability to remember the child process exit code, how would this be exposed for qx()? S28 says Perl 5 $? gets folded into Perl 6 $!, but I'm not sure of the details there. What is the "proper" way to set $! in NQP-rx? | ||
| dalek | p-rx: b99043c | pmichaud++ | src/Regex/P6Regex/Actions.pm: Only auto-concatenate PAST::Regex literal nodes with non-PAST children. |
06:04 | |
| p-rx: 9c899a5 | pmichaud++ | src/Regex/P6Regex/ (2 files): Switch P6Regex quoting to use HLL quoting. |
|||
| p-rx: 45b57ff | pmichaud++ | src/Regex/P6Regex/ (2 files): Allow some double-quoted arguments in subrules. |
|||
| p-rx: ba0fcdc | pmichaud++ | src/stage0/ (4 files): Update bootstrap. |
|||
|
06:09
Helios- left
06:10
Helios- joined,
pointme joined,
zaslon joined
06:11
mubot joined
06:23
envi^home joined
06:39
wisemanby joined
|
|||
| diakopter | pointme: mubot | 06:52 | |
| pointme | carlins's mubot is at github.com/carlins/mubot/ | ||
| diakopter | pointme: dalek | ||
| pointme | Sorry, I don't know anything about that project | ||
| diakopter | o | ||
| well, it's at github.com/Infinoid/dalek-plugins | |||
| nqp: my $i := 4; say("hi"~(++$i)~"hi") | 06:55 | ||
| p6eval | nqp: error:imcc:syntax error, unexpected '\\n' in file 'EVAL_1' line 14Null PMC access in concatenate_str()current instr.: '_block11' pc 0 (EVAL_1:6) | ||
| diakopter | nqp: my $i := 4; say("hi"~++$i~"hi") | 06:58 | |
| p6eval | nqp: error:imcc:syntax error, unexpected '\\n' in file 'EVAL_1' line 14Null PMC access in concatenate_str()current instr.: '_block11' pc 0 (EVAL_1:6) | ||
| diakopter | nqp: my $i:=0; if ++$i { say($i) }; | 07:01 | |
| p6eval | nqp: error:imcc:syntax error, unexpected COMMA (',') in file 'EVAL_1' line 12 | ||
|
07:02
xenoterracide joined
|
|||
| spinclad | nqp: my $i; ++$i | 07:03 | |
| p6eval | nqp: increment() not implemented in class 'Undef'current instr.: '_block11' pc 0 (EVAL_1:6) | ||
| spinclad | nqp: my $i := 0; ++$i | ||
| p6eval | nqp: ( no output ) | ||
| spinclad | nqp: my $i := 0; say(++$i) | 07:04 | |
| p6eval | nqp:  | ||
| spinclad | nqp: my $i := 0; ++$i; say($i) | ||
| p6eval | nqp: 1 | ||
| spinclad | nqp: my $i := 0; 'Hi'~++$i; say($i) | ||
| p6eval | nqp: error:imcc:syntax error, unexpected '\\n' in file 'EVAL_1' line 141 | ||
| spinclad | nqp: my $i := 0; "Hi {++$i}"; say($i) | 07:05 | |
| p6eval | nqp: error:imcc:syntax error, unexpected '\\n' in file 'EVAL_1' line 141 | ||
| spinclad | nqp: my $i := 0; say("{++$i}"); say($i) | ||
| p6eval | nqp: error:imcc:syntax error, unexpected '\\n' in file 'EVAL_1' line 121 | ||
| diakopter | nqp: my $i := 0; 'Hi'~{++$i}(); say($i) | 07:06 | |
| p6eval | nqp: 1 | ||
| diakopter | heh | ||
| japhb's trick | |||
| japhb: hilite | 07:07 | ||
| nqp: my $i:=0; if {++$i}() { say($i) }; | |||
| p6eval | nqp: Null PMC access in get_bool()current instr.: '_block11' pc 0 (EVAL_1:5) | ||
| diakopter | o | ||
| spinclad | nqp: my $i := 0; say('Hi '~{++$i}()); say($i) | 07:08 | |
| p6eval | nqp: Hi 1 | ||
| diakopter | o_o o_O O_O O_o o_o | ||
| spinclad | nqp: my $i := 0; say('Hi '~{++$i; $i}()); say($i) | 07:09 | |
| p6eval | nqp: Hi 11 | ||
| diakopter | spinclad: do you know much pir/nqp? | ||
| (sorry if that's a dumb question) | |||
| spinclad | nqp: my $i := 0; say('Hi '~{$i++}()); say($i) | ||
| p6eval | nqp: Hi 01 | ||
| spinclad | i have some reading knowledge from lurking | 07:10 | |
| diakopter | I have a pmc; I need to know whether it's an Undef | ||
| whatever that is | |||
| nqp's .isa fails on it | 07:11 | ||
| spinclad | i start thinking about pir ops like pir::isnull__SIG | 07:12 | |
| diakopter | it's not null | ||
| it stringifies to "" | |||
|
07:13
pnate joined,
yahooooo joined
|
|||
| spinclad | i start browsing .pir files for a likely idiom | 07:13 | |
| diakopter cross-posts to #parrot | |||
| spinclad | i believe i've seen it go by | ||
| excellent idea | |||
| i believe i'm out of handy clues | 07:14 | ||
| diakopter | :D me2 | ||
| spinclad | (i wasn't meaning i thought isnull was _right_, just a first concrete association) | 07:16 | |
| nqp: my $i; say(pir::defined($i)) | 07:17 | ||
| p6eval | nqp: The opcode 'defined_p' (defined<1>) was not found. Check the type and number of the argumentscurrent instr.: 'parrot;PCT;HLLCompiler;evalpmc' pc 917 (src/PCT/HLLCompiler.pir:514) | ||
| spinclad | (making stuff up isn't converging on an answer; better to actually find out) | 07:22 | |
|
07:51
pnate2 joined
|
|||
| spinclad | pointme: hugme | 08:15 | |
| pointme | Sorry, I don't know anything about that project | ||
| spinclad | pointme: pointme | ||
| pointme | Sorry, I don't know anything about that project | ||
| spinclad | pointme: proto | 08:16 | |
| pointme | masak's proto is at github.com/masak/proto/ | ||
|
08:27
xinming joined
08:31
gbacon joined
|
|||
| spinclad | pointme: help | 08:39 | |
| pointme | Sorry, I don't know anything about that project | ||
| spinclad | pointme, hugme is at github.com/moritz/hugme/ | 08:41 | |
| pointme, help | |||
| pointme: hugme is at github.com/moritz/hugme/ | |||
| pointme | Sorry, I don't know anything about that project | ||
|
08:41
yahooooo0 joined
|
|||
| carlin | pointme gets its information from proto's projects list | 08:42 | |
| spinclad | ah, thanks, wondered... iwbni one of the bots knew the bots as well, though as we don't need more than one of each installed anywhere, they might not fit proto's mandate | 08:45 | |
| but as a project, if the author welcomes community improvements, they might | 08:47 | ||
| carlin | So you mean "pointme: hugme" should produce a description of hugmme's functionality? | 08:48 | |
| spinclad | at least a pointer to the source, like other projects | 08:49 | |
| description sounds like a worthy feature, too | 08:50 | ||
| //github.com/<author>/<project>/ seems to have a line of description, don't know yet how hard to extract. | 08:56 | ||
| a worthy feature if easy, or it interests you | 08:57 | ||
|
08:58
iblechbot joined
|
|||
| spinclad | (i note now that hugme is in perl 5, so clearly lies outside of proto's scope) | 09:06 | |
|
09:13
desertm4x joined
09:18
Su-Shee joined
|
|||
| Su-Shee | good morning. | 09:20 | |
|
09:23
pointme joined
|
|||
| carlin | pointme: hugme | 09:24 | |
| pointme | Hugme hugs people! And gives commit access to various repos. It's source is at github.com/moritz/hugme/ | ||
| BinGOs | is this thing web scraping ? | 09:26 | |
| carlin | hardcoded the descriptions, based loosely on frettled++'s blog post | ||
| BinGOs | There is a Github API which would be so much better than fucking with scraping | ||
| carlin | maybe one day I'll allow to learn | ||
| *allow it to | |||
| Doesn't do anything with github since a lot of the bots aren't hosted there | 09:27 | ||
| pointme: lambdabot | |||
| pointme | lambdabot is a karma bot. More information can be found at www.haskell.org/haskellwiki/Lambdabot | ||
|
09:29
chromatic joined
09:32
desertm4x_ joined
09:34
agentzh joined
09:54
rfordinal3643 joined
10:01
NorwayGeek joined
10:02
NorwayGeek joined
|
|||
| spinclad | carlin++ # noo feechers | 10:03 | |
| moritz_ | good morning | 10:07 | |
|
10:17
am0c joined
|
|||
| moritz_ | ng: say (0.4).perl | 10:29 | |
| p6eval | ng fc78cc: No such attribute '$!do'current instr.: 'perl6;Any;' pc -1 ((unknown file):-1) | ||
| moritz_ | ng: say (0.4).WHAT | ||
| p6eval | ng fc78cc: No such attribute '$!do'current instr.: 'perl6;Any;' pc -1 ((unknown file):-1) | ||
| moritz_ | ng: say 1 | ||
| p6eval | ng fc78cc: No such attribute '$!do'current instr.: 'perl6;Any;' pc -1 ((unknown file):-1) | ||
|
10:46
yahooooo joined
10:47
barney joined
|
|||
| moritz_ | ng: say 1 | 10:59 | |
| p6eval | ng fc78cc: No such attribute '$!do'current instr.: 'perl6;Any;' pc -1 ((unknown file):-1) | ||
|
11:00
p6eval joined
|
|||
| moritz_ | ng: say 1 | 11:01 | |
| p6eval | ng fc78cc: No such attribute '$!do'current instr.: 'perl6;Any;' pc -1 ((unknown file):-1) | ||
| moritz_ doesn't understand it | |||
| oh | 11:03 | ||
| the error occurs when I run the installed ng | |||
| pugs_svn | r29091 | moritz++ | [evalbot] the installed ng is broken, use the local executable for now | 11:04 | |
|
11:06
p6eval joined
|
|||
| moritz_ | ng: say 1 | 11:06 | |
| p6eval | ng fc78cc: "load_bytecode" couldn't find file 'Safe.pir'current instr.: '!use' pc 175149 (src/gen/core.pir:15824) | ||
|
11:07
p6eval joined
|
|||
| moritz_ | ng: say 1 | 11:07 | |
| pugs_svn | r29092 | moritz++ | [evalbot] ng can't load Safe.pm yet, so omit that for now | ||
| p6eval | ng fc78cc: 1 | ||
| moritz_ | \\o/ | ||
|
11:12
kidd joined
|
|||
| colomon | ng: say (0.4).WHAT | 11:16 | |
|
11:18
p6eval joined
|
|||
| moritz_ | ng: say (0.4).WHAT | 11:18 | |
| sorry for killing p6eval :-) | |||
| p6eval | ng fc78cc: Rat() | ||
| moritz_ | ng: say (0.4).perl | ||
| p6eval | ng fc78cc: 2/5 | ||
|
11:19
kidd joined
|
|||
| colomon | \\o/ | 11:23 | |
|
11:29
fridim_ joined
|
|||
| moritz_ | ng: say 1.0e0.WHAT | 11:34 | |
| p6eval | ng fc78cc: Int() | ||
| moritz_ | .oO( ... ) |
11:35 | |
| spinclad | ng: say 1.0/1.0.WHAT | ||
| p6eval | ng fc78cc: No applicable candidates found to dispatch to for 'new'current instr.: '&infix:</>' pc 133227 (src/gen/perl6-actions.pir:11111) | ||
| spinclad | ng: say (1.0/1.0).WHAT | ||
| p6eval | ng fc78cc: No applicable candidates found to dispatch to for 'new'current instr.: '&infix:</>' pc 133227 (src/gen/perl6-actions.pir:11111) | ||
| colomon | parse problem? | ||
| spinclad | ng: say (1.0 / 1.0).WHAT | 11:36 | |
| p6eval | ng fc78cc: No applicable candidates found to dispatch to for 'new'current instr.: '&infix:</>' pc 133227 (src/gen/perl6-actions.pir:11111) | ||
| moritz_ | nope | ||
| 1.0.WHAT is tighter than infix:</> | |||
| colomon | ng: say (1.0e0).WHAT | ||
| p6eval | ng fc78cc: Int() | ||
| moritz_ | Rat literals my only contain Ints | ||
| colomon | well bother | ||
| moritz_ | ng: use Test; plan 1; dies_ok { die }, '1' | 11:37 | |
| p6eval | ng fc78cc: "load_bytecode" couldn't find file 'Test.pir'current instr.: '!use' pc 175149 (src/gen/core.pir:15824) | ||
| colomon | though the e0 forced a Num | ||
| moritz_ | yes, that's a parse problem | ||
| colomon | test.pir is created by running make test | ||
| moritz_ | ng: use Test; plan 1; dies_ok { die }, '1' | ||
| p6eval | ng fc78cc: 1..1# Looks like you planned 1 tests, but ran 0 | ||
| spinclad | ng: say (1.0e1 / 1.0e1).WHAT | 11:38 | |
| p6eval | ng fc78cc: Rat() | ||
| moritz_ | ok, it seems that dies_ok bails out in ng | ||
| ng: die('foo') | |||
| p6eval | ng fc78cc: foocurrent instr.: '&die' pc 7006 (src/builtins/control.pir:18) | ||
| moritz_ | ng: try { die('foo') } | ||
| p6eval | ng fc78cc: ( no output ) | ||
| moritz_ | ng: try { die('foo') }; say $! | ||
| p6eval | ng fc78cc: foo | ||
| moritz_ changed the cronjob to build Test.pir | 11:39 | ||
| spinclad | ng: say (1.0e-1 / 1.0e-1).WHAT | ||
| p6eval | ng fc78cc: Num() | ||
| spinclad | there it is | 11:40 | |
| moritz_ | I'm pretty sure that fixing dies_ok and eval_dies_ok would bring us back a few more spectests | 11:41 | |
| spinclad | (any e<exp> _should_ force a Num) | 11:42 | |
| colomon | for sure there's a test it rat.t it would help | ||
| moritz_ | it's a LHF :-) | ||
| colomon | (dies_ok, I mean) | ||
| any idea how hard evak itsewlf would be to implrment? | 11:43 | ||
| eval | |||
| sigh | 11:44 | ||
| moritz_ | it's commented out in Test.pm because of the Null PMC access regex check | ||
| pushed. | 11:45 | ||
| this brings us back at least t/spec/S06-signature/optional.t | |||
| colomon | what is eval_exception? | 11:46 | |
| moritz_ | a sub defined in Test.pm | 11:47 | |
| colomon | i see | ||
| does that work now? | |||
| moritz_ | I think KyleHa++ took care of that part of Test.pm | ||
| colomon: it works enough to get dies_ok and eval_dies_ok working again ;-) | |||
| colomon | ng: say eval("!") | 11:48 | |
| p6eval | ng aee0d7: sh: ./perl6: No such file or directory | ||
| moritz_ | ng: use Test; plan 2; dies_ok { die('foo') }, 'foo'; dies_ok { 1 }, 'lives'; | ||
| p6eval | ng aee0d7: 1..2ok 1 - foonot ok 2 - lives# Looks like you failed 1 tests of 2 | ||
| moritz_ | ng: say 'abcdef'.index('bc') | 11:53 | |
| p6eval | ng aee0d7: Method 'index' not found for invocant of class 'Perl6Str'current instr.: '_block14' pc 29 (EVAL_1:0) | ||
| colomon | ng: say eval("1") | ||
| p6eval | ng aee0d7: Could not find non-existent sub &evalcurrent instr.: '_block14' pc 29 (EVAL_1:0) | ||
| colomon | that's what I'm talking about | ||
| moritz_ | oh | ||
| colomon | ng: say eval({ 1 }) | ||
| p6eval | ng aee0d7: Could not find non-existent sub &evalcurrent instr.: '_block14' pc 29 (EVAL_1:0) | ||
| moritz_ | so eval_dies_ok is not actually working | 11:54 | |
| ng: use Test; plan 1; eval_dies_ok '1', 'foo'; | |||
| p6eval | ng aee0d7: 1..1ok 1 - foo | ||
| colomon | that why I was surprised | ||
| moritz_ | then I should partially revert my previous commit | ||
| colomon++ | 11:55 | ||
| colomon | that's why I was asking how hard it would be to implement eval | 11:56 | |
| (it's blocking four or five tests in rat.t) | 11:57 | ||
| moritz_ looks at master | 11:58 | ||
| colomon | seems like it should either be very easy or nigh impossible :) | ||
| moritz_ | the .sub 'eval' in src/builtins/control.pir (master branch) looks... sophisticated | 12:00 | |
| moritz_ won't touch that, and leave it to pmichaud++, jnthn++ or any other daring soul | 12:01 | ||
| colomon | maybe you could take a crack at Num.Int instead? :) | 12:02 | |
| moritz_ | ok, how do I build a Num in ng? (for testing) | ||
| ng: say 1e1.WHAT | 12:03 | ||
| p6eval | ng aee0d7: Int() | ||
| moritz_ | ng: say (1e1/2e1).WHAT | ||
| p6eval | ng aee0d7: Rat() | ||
| moritz_ | ng: say (1e1/2e1).Num | ||
| p6eval | ng aee0d7: 0.5 | ||
| moritz_ | ng: say (1e1/2e1).Num.WHAT | ||
| p6eval | ng aee0d7: Num() | ||
| moritz_ | ng: say (1/2).Num.WHAT | ||
| p6eval | ng aee0d7: Num() | ||
| moritz_ | ng: say (1/2).Num.Int | 12:04 | |
| p6eval | ng aee0d7: Method 'Int' not found for invocant of class 'Num'current instr.: '_block14' pc 29 (EVAL_1:0) | ||
| colomon | ng: say 1.Num.WHAT | ||
| p6eval | ng aee0d7: Num() | ||
|
12:05
kidd joined
|
|||
| spinclad | ng: say 1e-1.WHAT | 12:06 | |
| p6eval | ng aee0d7: Num() | ||
| spinclad | ng: say 1e-1 | ||
| p6eval | ng aee0d7: 0.1 | ||
| spinclad | ng: say 1e-1.perl | ||
| p6eval | ng aee0d7: Method 'perl' not found for invocant of class 'Float'current instr.: '_block14' pc 29 (EVAL_1:0) | ||
| spinclad | ng: say 1e-1.PARROT | ||
| p6eval | ng aee0d7: Float | ||
| spinclad | ng: say 1e1.WHAT | 12:07 | |
| p6eval | ng aee0d7: Int() | ||
| spinclad | ng: say 1e1 | ||
| p6eval | ng aee0d7: 10 | ||
| spinclad | ng: say 1e1.perl | ||
| p6eval | ng aee0d7: 10 | ||
| spinclad | ng: say 1e1.PARROT | ||
| p6eval | ng aee0d7: Integer | ||
| colomon | writing Num.perl is tricky, imo | 12:08 | |
| rakudo has always gotten it wrong | |||
| moritz_ | just take parrot's stringification, and attach an e0 if it doesn't contain an 'e' yet | 12:09 | |
| colomon | :) | 12:10 | |
| spinclad | do the .PARROT answers show lack of HLL boxing? parrot-level PMCs instead of P6 ones? | ||
| moritz_ | not sure | 12:11 | |
| moritz_ finds that he can't write inline PIR anymore, due to lack of PIR knowledge | 12:12 | ||
|
12:14
Su-Shee left
|
|||
| colomon | moritz_: with current ng, can you determine if there is no e? | 12:14 | |
| moritz_ | colomon: you can use pir::index or so | 12:15 | |
| ng: say pir::index('foo', 'o') | |||
| p6eval | ng 004361: 1 | ||
| moritz_ | ng: say pir::index('foo', 'f') | ||
| p6eval | ng 004361: 0 | ||
| moritz_ | ng: say pir::index('foo', 'b') | ||
| p6eval | ng 004361: -1 | ||
| colomon | moritz_++ | ||
| moritz_ | .oO( as surprising as it might be, regexes are not the only way to analyse strings :-) |
12:16 | |
| spinclad | ng: say 'foo'.split('').grep('o') | 12:17 | |
| p6eval | ng 004361: Method 'split' not found for invocant of class 'Perl6Str'current instr.: '_block14' pc 29 (EVAL_1:0) | 12:18 | |
| moritz_ | colomon: Num.Int pushed | ||
| spinclad | ng: say 'foo'.comb('').grep('o') | ||
| p6eval | ng 004361: Method 'comb' not found for invocant of class 'Perl6Str'current instr.: '_block14' pc 29 (EVAL_1:0) | ||
| colomon | \\o/ | ||
|
12:18
kidd joined
|
|||
| moritz_ | ng: say 3.5.Num.Int | 12:34 | |
| p6eval | ng 004361: Method 'Int' not found for invocant of class 'Num'current instr.: '_block14' pc 29 (EVAL_1:0) | ||
| moritz_ | ah, should rebuild in a minute | ||
|
12:38
kidd joined
12:39
xinming_ joined
|
|||
| szabgab | good sunday | 12:40 | |
| has anyone attempted to parse Matlab code using Perl 5 or Perl 5++ ? | 12:41 | ||
|
12:43
freeplatypus joined
12:59
Whiteknight joined
|
|||
| moritz_ | szabgab: I don't know of any, but you could try to look at parrot's Languages wiki page, maybe sombody started a compiler for it... | 13:03 | |
| if so, the PCT regexes should also work in Rakudo | |||
| or nqp-rx | |||
|
13:06
kidd joined
13:09
payload joined
|
|||
| szabgab | yeah I think I should have asked this on #parrot | 13:10 | |
|
13:12
kidd joined
13:14
kidd joined,
pmurias joined
|
|||
| pmichaud | good morning, #perl6 | 13:17 | |
| colomon | good morning! | ||
| moritz_ | pmichaud: eval() and thus eval_dies_ok would bring us back at least three spectest files | 13:18 | |
| in ng, obviously | 13:19 | ||
| pmichaud | ok | ||
| moritz_ | ng: say 1.5.perl | ||
| p6eval | ng 268a8a: 3/2 | ||
| moritz_ | this time really ng ;-) | ||
| pmichaud | eval's tricky, because of the need to preserve the lexical scoping | ||
| moritz_ | how much of that trickyness is different from master? | ||
| pmichaud | a bit, because the internal handling of lexicals has changed | 13:20 | |
| also the way we keep track of blocks has changed | |||
| also I should probably write eval in a way that will help to fix the repl | |||
|
13:20
pmurias_ joined
|
|||
| moritz_ | ok, not so trivial then | 13:21 | |
|
13:21
zloyrusskiy joined,
kidd joined
|
|||
| colomon | You can easily reverse single commits in git, right? | 13:24 | |
|
13:27
yewenbin joined
|
|||
| colomon | Errr... "neg() not implemented in class 'Rat'" :O | 13:27 | |
| ? | |||
| ng: say -1/2 | |||
| p6eval | ng 268a8a: neg() not implemented in class 'Rat'current instr.: '_block14' pc 29 (EVAL_1:0) | ||
| pmichaud | do we have &prefix:<-> defined yet? | 13:28 | |
| colomon | yes | ||
| at least for Rat | |||
| pmichaud | what does prefix:sym<-> say in src/Perl/Grammar.pg ? | ||
| colomon | though I don't know for sure it works -- -$a.numerator might be a Num. | 13:29 | |
| src/Perl? | |||
| pmichaud | src/Perl6, sorry | ||
| colomon | { <sym> <![>]> <O('%symbolic_unary, :pirop<neg>')> } | 13:30 | |
| pmichaud | ah | ||
| have to get rid of that :pirop | |||
| it's converting all unary minus to a negation opcode | |||
| (and we want it to be a subroutine call to &prefix:<-> | 13:31 | ||
| colomon | Just delete that second parameter? | ||
| pmichaud | yes. | ||
| colomon | trying | ||
| weird | 13:32 | ||
| the test-by-test list says "t/00-parrot/02-op-math ok" but the test summary says it failed with non-zero exit status 1. | 13:33 | ||
| pmichaud | try running it directly | 13:34 | |
| colomon | looks like prefix:<-> no longer works for Num. | ||
| pmichaud | ./perl6 t/00-parrot/02-op-math.t | ||
| prefix:<-> probably isn't implemented, then | |||
| need to add that :-) | |||
| colomon | one sec | 13:35 | |
| pmichaud | src/core/operators.pm | ||
| colomon | It works for Rat, just not implemented for Num... | ||
| pmichaud | right | ||
| need to add it for Any | |||
| colomon | looks like it works for Int as well. | ||
| pmichaud | need to add it for Any :-) | ||
| colomon | afk for a minute... | ||
| back | 13:41 | ||
| pir::neg__NNN($a) ? | 13:42 | ||
| pmichaud | it's unary, so just __NN | ||
| (returns a N, takes a N argument) | 13:43 | ||
| colomon | compiling | ||
| did not splode! | |||
| pmichaud | fail FAIL. | ||
| colomon | 02-op-math.t still fails... | 13:44 | |
| pmichaud | same error? | ||
| colomon | no | 13:45 | |
| Could not find non-existent sub &postfix:<-> | |||
| pmichaud | oh | ||
| colomon | looks like it's happening for say abs -14 | ||
| pmichaud | that looks like the prefix/postfix bug I had earlier | ||
| okay, I'll fix that. | |||
| colomon | groovy. | ||
| pmichaud | the expression parser seems to get confused by repeated prefix ops | 13:46 | |
| colomon | oooo, and yes, -Int is not an Int. Stupid operator bug. | 13:47 | |
| yet easily worked around once you know what is going on. | |||
| pmichaud | how are we working around that one...? | ||
| colomon | ( blah ).Int | 13:49 | |
| pmichaud | in the test? | ||
| oh, in the code | |||
| hmmmm | |||
| colomon | In the core. | ||
| That's why I asked about reversing git patches. | |||
| pmichaud | are the workarounds being marked as cheats? | ||
| moritz_ | git revert $sha1 | ||
| colomon | If I do it all as one git patch, it's easy to reverse. | ||
| moritz_ | and then commit it | ||
| colomon | I marked the entire batch at the beginning. | 13:50 | |
| moritz_ | so yes, easy | ||
| colomon | but I didn't move them out of the core. | ||
| BTW, just through a ton of rat.t with that workaround. :) | 13:51 | ||
|
13:59
ejs joined
|
|||
| colomon | Have 65 passing rat.t tests here. | 14:04 | |
|
14:08
astrojp joined
|
|||
| jnthn | 'lo | 14:10 | |
|
14:12
barney joined
|
|||
| colomon | hello! | 14:17 | |
|
14:17
masak joined
|
|||
| masak | oh hai, #perl6. | 14:17 | |
| jnthn | hi masak | ||
| masak | yesterday I fell asleep before 10 o'clock in the evening. | 14:18 | |
| I slept really well. | |||
| woke up at 9 this morning. | |||
| jnthn | Yesterday I attempted to get an early night. In theory, I had time for 8-9 hours sleep before it was time to get up for church. | 14:19 | |
| In the end I lay awake most of it and got like, 3 hours. :-/ | |||
| So I'm pretty much useless for anything today. | |||
| masak | :/ | ||
| I was useless yesterday. | |||
| so I know how it feels. :) | 14:20 | ||
| jnthn hands masak his Rakudo commit bit for the day :-) | 14:25 | ||
| masak | oh, I wish. :) | ||
| I'm definitely not up-to-speed on ng. | |||
|
14:26
ejs joined
|
|||
| masak | though I wouldn't mind an update. :) which stage are you in? making the setting compile? | 14:32 | |
| colomon | masak: it's just like master except most stuff doesn't work. :) | ||
|
14:32
Su-Shee joined
14:33
payload joined
|
|||
| masak | colomon: I was going to say, "so in other words, just like master", but I don't want to stand by that statement. :P | 14:33 | |
| masak laughs heartily at the MegaHAL bot on Twitter | 14:34 | ||
| "My mom does not support continuations, and according to Guido van Rossum, never will." | |||
| arnsholt | *giggle* | 14:35 | |
|
14:43
araujo joined
|
|||
| moritz_ | lol | 14:46 | |
|
14:55
kidd joined
14:59
qp_pq joined
|
|||
| qp_pq | has Perl6 stolen a lot from Erlang ? | 14:59 | |
| cause I'm learning Erlang | |||
| jnthn | masak: Yes, gradually trying to bring back bits of the setting, and noticing the spots we fail because other things that they depend on are still missing. | 15:00 | |
| masak | jnthn: oki. I've seen others jump in and contribute; maybe I will, too. | 15:01 | |
| jnthn | \\o/ | ||
| colomon | masak: Think of it as a bug-rich target environment.... | 15:02 | |
| masak | :) | ||
| colomon: you know just the right words to get me excited! :) | |||
| colomon | :) | 15:03 | |
|
15:04
am0c joined
|
|||
| qp_pq | I remember Perl6 had ++ on lists | 15:04 | |
| like @a ++ @b = reunion | |||
| does it have -- | |||
| @a -- @b = @a\\@b | |||
| ? | |||
| lambdabot | Maybe you meant: activity activity-full admin all-dicts arr ask . ? @ v | 15:05 | |
| masak | qp_pq: no, you join arrays by putting a comma between and having them flatten. | ||
| arnsholt | qp_pq: Maybe not Erlang specifically, but Perl (both 5 and 6) is quite influenced by functional programming in general IMO | ||
| masak | rakudo: my @a = 1, 2, 3; my @b = 4, 5; say (@a, @b).perl | ||
| p6eval | rakudo 7347ec: [1, 2, 3, 4, 5] | ||
|
15:05
ejs joined
|
|||
| qp_pq | masak: and different ? | 15:06 | |
| masak | arnsholt: nod. map and grep are central to Perl, and they're from the fun world. | ||
| qp_pq: and different what? | |||
| oh, you want set minus! | |||
| qp_pq | difference | ||
| jnthn | masak: Much better than those things we stole from the boring world, eh? :-) | ||
| arnsholt | masak: Indeed. And hyperoperators. Can you say higher order programming? =) | 15:07 | |
| masak | rakudo: my @a = 1..5; my @b = 2, 4; say (grep { not any(@b) == $_ }, @a).perl | ||
| p6eval | rakudo 7347ec: [1, 3, 5] | ||
| masak | jnthn: are you still at the dentist's? :) | ||
| qp_pq | masak: yes but don't we have a - ? | 15:09 | |
| masak | qp_pq: yes, but it numifies its arguments. | ||
| qp_pq: Perl (and Perl 6) is operator-based. an operator generally does one thing, and does it well. | 15:10 | ||
| arnsholt | There was someone in here talking about a Set class a while ago. Did anything more come from that? | ||
| masak | arnsholt: well, the Spec has a set class. | ||
| arnsholt | Oh, right. My spec coverage is sketchy at best | 15:11 | |
| jnthn | masak: No, just felt like filling the channel with bad puns. :-) | ||
| masak groans | |||
| jnthn | I thought somebody was working on Set. | ||
| But I totally forget who. | 15:12 | ||
| masak | I once made a TPF proposal to work on Set and similar classes. | ||
| colomon | I meant to try to get some work in on Set in the last couple of weeks, but have failed completely so far. | ||
| masak | colomon: in what way? | 15:13 | |
| not getting started? | |||
| running into actual problems? | |||
| colomon | no, not actually doing anything. | ||
| :) | |||
| masak | oh, that reminds me. | 15:14 | |
| I have a presentation to procrastinate. :) | |||
| colomon | Not getting started. Pretty much not having anything more than a notion that it might be done and I might be able to do it. | ||
| masak | I think Set is under-spec'd. | 15:15 | |
| arnsholt | I agree | ||
| masak | I'd like to find a number of good use cases that could drive the spec forward for Set and similar classes. | ||
|
15:16
Psyche^ joined
|
|||
| arnsholt | (Assuming S32 is the right one to look at) | 15:16 | |
| I looked at Set::Scalar on CPAN a while back. It's got some interesting features | |||
| Might not be a perfect fit for a standard library class, but might be a place for inspiration | 15:17 | ||
| masak | rakudo: my &*x | 15:19 | |
| p6eval | rakudo 7347ec: Method 'scope' not found for invocant of class 'PAST;Op'in Main (file src/gen_setting.pm, line 324) | ||
| masak submits rakudobug | |||
| arnsholt: I think some good ideas might be taken from the Java Collections Tutorial. | |||
| jnthn | ng: my &*x | ||
| p6eval | ng 268a8a: ( no output ) | ||
| jnthn | ng: sub foo() { my &*x = { say 42 }; bar() }; sub bar() { &*x() }; foo; | 15:21 | |
| p6eval | ng 268a8a: 42 | ||
| jnthn | \\o/ | ||
| That'll be one we can close when ng lands then. :-) | |||
| masak | wow. :) | ||
| arnsholt | masak: Excellent idea | ||
| masak | jnthn: but you can't do the call inside bar as 'x()', can you? | ||
| arnsholt | And perhaps even the java.util.Set javadoc | 15:22 | |
| jnthn | masak: Hmm. I'd sorta expect not. | ||
| masak: You normally ahve to explicitly say you want to go hunting down the dynamic scope. | |||
| masak | jnthn: yeah, me too. just asking. | ||
| I can see how it would be a mistake to allow that. | |||
| jnthn | Yeah, I think I agree. :-) | 15:24 | |
| jnthn realizes that today is not the day to read scg.unibe.ch/archive/papers/Duca05y...sTrait.pdf | 15:25 | ||
|
15:29
am0c joined
15:30
IllvilJa joined
|
|||
| masak | ng: module M {constant $DEBUG = 1}; say $M::DEBUG | 15:35 | |
| p6eval | ng 268a8a: Confused at line 1, near "say $M::DE"current instr.: 'perl6;HLL;Grammar;panic' pc 448 (src/stage0/HLL-s0.pir:300) | ||
| masak | rakudo: module M {constant $DEBUG = 1}; say $M::DEBUG | ||
| p6eval | rakudo 7347ec: Use of uninitialized value | ||
| masak | anyone know if the above one is in RT? | ||
| jnthn | ng: $M::DEBUG | ||
| p6eval | ng 268a8a: Confused at line 1, near "$M::DEBUG"current instr.: 'perl6;HLL;Grammar;panic' pc 448 (src/stage0/HLL-s0.pir:300) | ||
| pmichaud | I'm not sure ng is far enough along that we should be filing rt tickets for it yet. | 15:36 | |
| jnthn | masak: Certainly, that Rakudo's constants impl is lagging the spec has come up plenty of times. | ||
| pmichaud: I think masak++ meant the issue in Rakudo master. | |||
| pmichaud | ah, in rakudo master | ||
| yeah, there we know that we lag the spec | |||
| jnthn | (Constants are still lexically scoped.) | ||
| masak | yes, but does RT know it? | ||
| jnthn | masak: I don't know - I just know it's come up multiple times before. | 15:37 | |
| masak | so, probably. | ||
| jnthn | Likely. | ||
| masak | almost certainly. | ||
| jnthn | Môže byť. :-) | ||
| masak likes reading Slovak and understanding it :) | 15:38 | ||
| jnthn | I manage that trick once in a while too. :-) | ||
| masak | jnthn: also. the c in 'nemame cas' should have a hat, right? | 15:39 | |
| jnthn | masak: Right. | ||
| masak | jnthn: it kinda bothered me in the back of my mind after you'd mentioned it, until I figured out that it should. | ||
| jnthn | masak: Yes, I tend to miss out those things when typing most of the time... | 15:40 | |
| masak | understandable. | ||
| jnthn | masak: It's not even just me being lazy - a lot of natives drop them on irc and in emails too. :-) | 15:41 | |
| masak | nod. my IRC nick is an example of such an ASCIIfication. :) | ||
| though I'm not a Slovak native, but still. | |||
|
15:41
nihiliad joined
|
|||
| jnthn | Native of langauge with non-ASCII chars. :-) | 15:42 | |
| Well, that's most of the world, I guess. :-) | |||
| masak | hugme: hug Unicode | ||
| hugme hugs Unicode | |||
| masak | jnthn: I'm pretty sure it's most of the world, yes. China and India contribute a billion people each. you just need another billion, which shouldn't be hard to find. | 15:43 | |
| pmichaud | shouldn't be... much of europe falls outside of ASCII :) | 15:45 | |
| jnthn | Much of South America too, I guess. | ||
| Oh, and then there's that small country: Russia. :-) | 15:46 | ||
| arnsholt | I can't think of many languages apart from English that get by with just ASCII | ||
| jnthn | American, Australian. | 15:47 | |
| Oh, wait. | |||
| masak | :) | ||
| arnsholt | And if you wanna write a somewhat educated English, you're going to want accents as well | ||
| jnthn | Huh? :-) | ||
| arnsholt | Well, I'm in a café at the moment =p | 15:48 | |
| jnthn | Clearly I've not been educated. :-) | ||
| masak | yes, it's naïve ti think otherwise. | ||
| s/ti/to/ | |||
|
15:49
pmurias joined
|
|||
| jnthn | I'm struggling to think of other European languages that even fit within ASCII though. | 15:49 | |
| masak | en.wikipedia.org/wiki/List_of_Engli...diacritics | ||
| heh, what, "Filmjölk" is an English word? :) | 15:50 | ||
| jnthn | "Many of these spellings are so rare that they cannot be said to be part of the standard language." | ||
| masak: I don't immediately recognize it as one... | |||
| masak | thought so. | ||
| jnthn | .oO( a joke from a film? ) |
||
| arnsholt | jnthn: It's Swedish =) | ||
| jnthn | "fermenting cow's milk with a variety of bacteria"...sounds appertizing. :-/ | 15:51 | |
| masak | oh, I should have said 'háček' (or 'caron') before about the thing on the c, and not 'hat'. | ||
| jnthn: it's a staple product in Sweden. | 15:52 | ||
| many people have it for breakfast. | |||
| jnthn | masak: It looks like you probably could use it to attach bits of paper, yes... | ||
| masak | hrm. :) | ||
| jnthn | masak: We call it a mekcen in Slovak, fwiw. :-) | ||
| masak | oki. | 15:53 | |
| jnthn | erm, where the c has a mekcen on it. :-) | ||
| masak | I guessed as much. :) | ||
| jnthn | .oO( Next Slovak class: BTW, did you know mekcen is recursively defined? ) |
||
|
15:53
rfordinal joined
|
|||
| masak | :) | 15:54 | |
| that's permissible in languages. | |||
| jnthn | Filmjölk looks, like, healthy. :-) | ||
| colomon | ng: say 1 + 1i | ||
| p6eval | ng 268a8a: Could not find non-existent sub &failcurrent instr.: 'perl6;Complex;_block2489' pc 168885 (src/gen/core.pir:13397) | ||
| jnthn | Wow. We fail to fail. :-) | 15:55 | |
| masak | jnthn: I could bring a packet to Riga if you want. :) | ||
| colomon | see, masak? a target-rich environment, just like I said. :) | ||
| masak | colomon: yes, but I'm not allowed to submit those bugs! :) | ||
|
15:55
am0c__ joined
|
|||
| masak | that's just teasing. | 15:56 | |
| colomon | no, you have to fix them. | ||
| jnthn | masak: Mmm...well, I guess I like other fermented products... :-) | ||
| colomon | or badger jnthn and pmichaud until they do. | ||
| masak | jnthn: I'd have to figure out how to transport it. that might be interesting. | ||
| jnthn | www.badgerbadgerbadger.com/ | ||
| colomon | jnthn: why is one of the three Complex infix:<+>'s commented out? | ||
| jnthn | colomon: Probably because it causes a compilation fail when uncommented. | 15:57 | |
| colomon | hmmm... let me see | ||
| jnthn | colomon: It's either because it uses my ($a, $b) = ... or private method calls. | ||
| Or at least, thow are the two things on my list of "what I gotta do to fully compile Complex" | 15:58 | ||
| colomon | weird. | ||
| jnthn | Once those are back in, we should be able to uncomment everything in Complex that is currently commented out. | ||
| colomon | make worked | ||
| make test died. | |||
| jnthn | Oh? | ||
| Curious. | |||
| colomon | when building Test.pir | 15:59 | |
| Not enough positional parameters passed; got 1 but expected 2 | |||
| jnthn | eeek | ||
| colomon | trying to undo it, just to double-check | 16:00 | |
| yup. | |||
| jnthn | oh, I'll bet you that's some "calling wrong multi candidate because we don't go through the multi-dispatcher" problem. | ||
| colomon | oh, hey, it's the "is deafult" version that fails | ||
| and you've commented out every "is default" operator in Complex. | 16:01 | ||
| jnthn | oh | ||
| That makes sense. | |||
| Need to put that back. | 16:02 | ||
| colomon | don't let me stop you from doing that, but why do we need is default there, anyway? | ||
| pmichaud | likely to avoid ambiguous dispatch | 16:03 | |
|
16:03
justatheory joined
|
|||
| jnthn | aye | 16:03 | |
| pmichaud | do we need "is default" if we have the Complex,Complex case defined above it? | 16:04 | |
| jnthn | colomon: It may actually be that the "is default" impl from the old traits.pm can just be taken accross. | ||
| pmichaud: Good question... | 16:05 | ||
| pmichaud | oh, I guess we do. | ||
| jnthn | Probably there's a way to get a conflict out of the others... | ||
| colomon | pmichaud: what's the case that would trigger the need for "is default" here? | 16:06 | |
| pmichaud | well, normally the problem with $a, Complex $b and Complex $a, $b is that we can't distinguish between two Complex arguments | 16:07 | |
| colomon | but we have Complex, Complex. | ||
| pmichaud | but if there's an explicit Complex $a, Complex $b case, I suspect that's not an issue. | ||
| so we might not need 'is default' at all here. | |||
| my original formulations in Rat didn't have the explicit Complex, Complex case -- just used 'is default' to disambiguate | |||
| sorry | 16:08 | ||
| my original formulates in Rat didn't have an explicit Rat, Rat case -- they just used 'is default' to disambiguate | |||
| colomon | I'm trying it without is default, but still getting some weirdness | ||
| pmichaud | so perhaps that was copied over to Complex | ||
| colomon | yeah, I'm afraid it may be my own stupid mistake. ;) | ||
| ng: say 1i + 1i | 16:09 | ||
| p6eval | ng 268a8a: 0 + {2}i | ||
| colomon | ng: say 1i + 1 | ||
| p6eval | ng 268a8a: Could not find non-existent sub &failcurrent instr.: 'perl6;Complex;_block2489' pc 168885 (src/gen/core.pir:13397) | ||
| colomon | ng: say 1 + 1i | ||
| p6eval | ng 268a8a: Could not find non-existent sub &failcurrent instr.: 'perl6;Complex;_block2489' pc 168885 (src/gen/core.pir:13397) | ||
| colomon | after uncommenting and removing is default, I get the first two working but not the last | ||
| (locally, I mean) | 16:10 | ||
| possibly dispatching to the wrong infix:<+> internally there? | |||
| pmichaud | yes, we may indeed still have the imcc bug in the way | 16:11 | |
| jnthn | wait, wait...you agree it's a bug now? ;-) | 16:12 | |
| pmichaud | (I wondered if you would catch that. No.) | ||
| jnthn | Aww, damm. | ||
| pmichaud | it's a bug for our purposes. | ||
| the bug being that we don't have a good way to turn that feature off. | |||
| jnthn | Well, guess we can try adding :multi | 16:13 | |
| pmichaud | grrrrrrrrrrowl | ||
| jnthn tries it | |||
| pmichaud burns a Parrot in effigy. | |||
| okay... so | |||
| I build Parrot | 16:14 | ||
| I install Parrot | |||
| jnthn | Is this the Rakudo version of Guy Fawkes night? | ||
| pmichaud | I build a new copy of NQP from the installed Parrot | ||
| it fails | |||
| because | |||
| jnthn | oh...some push_string thing? | ||
| pmichaud | it continues to look for libraries in the BUILD parrot | ||
| jnthn | In GetOpt? | ||
| jnthn saw that yesterday briefly, but just before sleep. | 16:15 | ||
| I thought I just had a dirty tree. But. Gah. | |||
| pmichaud | the libraries that exist in runtime/parrot/library in parrot's tree get priority over any libraries in either the current directory or the install tree -- even when using the installed Parrot | ||
| jnthn | wait...wait...the installed Parrot knows about the directory it was built in still? | ||
| pmichaud | yes. | ||
| apparently. | |||
| because everything fails until I copy the updated libraries into runtime/parrot/library in the build tree. | 16:16 | ||
| jnthn | So if a user build Parrot and sudo's to install it, then a global installed Parrot can still be talked into using libraries from a normal user? | ||
| pmichaud | well, that exists already, via the -L option | 16:17 | |
| that's not really what I'm saying | |||
| if I build Parrot | |||
| then install it | |||
| then copy a new library into the installed library directory | |||
| but don't eliminate the build tree | |||
| then the installed parrot still uses the copy in the build tree in preference to its own installed copy | 16:18 | ||
| jnthn | *sigh* | ||
| That's screwed up, and I'm quite sure there's a security problem in with that too. | |||
| In addition to the fact that it's just, well, wrong. | 16:19 | ||
| pmichaud prepares a ticket | |||
| jnthn | Extra points if it contains ASCII art of a burning Parrot effigy. | 16:20 | |
| diakopter blinks | 16:24 | ||
| masak | Rakudo devs, arguably Parrot's biggest customer, propose burning a Parrot effigy in ASCII. news at eleven. | ||
| arnsholt | rakudo: sub foo { say "foo"; }; my &test = &foo; test(); | 16:25 | |
| p6eval | rakudo 7347ec: foo | ||
| jnthn | pmichaud: oh f... No. Putting :multi on it won't Just Fix It. | 16:26 | |
| pmichaud: Turns out being marked :anon doesn't suppress the attempted namespace insertion. | 16:27 | ||
| s/attempted// | |||
| pmichaud | it still puts the MultiSub in the namespace? | ||
| jnthn | (if used in conjunction with :multi) | ||
| pmichaud | okay, I can see that. | ||
| jnthn | pmichaud: It appears so. | ||
| pmichaud | I wonder if we could get *that* changed. :) | 16:28 | |
| jnthn | Anonimity ain't what it used to be. | ||
| pmichaud | but it's a bandaid on top of a mess of bandages. | ||
| arnsholt | rakudo: class A { has &.m; method t { .m(); }; }; sub foo { say "foo"; }; my A $a .= new(:t(&foo)); $a.t(); | ||
| p6eval | rakudo 7347ec: ( no output ) | ||
| jnthn | Well, yes. | ||
| arnsholt | rakudo: class A { has &.m; method t { &.m(); }; }; sub foo { say "foo"; }; my A $a .= new(:t(&foo)); $a.t(); | 16:29 | |
| jnthn | Anyway, we explode at startup as a result so... | ||
| p6eval | rakudo 7347ec: ( no output ) | ||
| jnthn pulls that change out again | |||
| pmichaud | I think I have prefix/postfix working again | 16:33 | |
| building/testing now | |||
| jnthn | Cool :-) | ||
|
16:33
desertm4x joined
|
|||
| pmurias | diakopter: hi | 16:36 | |
| diakopter | pmurias: hi | 16:37 | |
| colomon | pmichaud: that's the abs -14 issue? | 16:38 | |
| pmichaud | colomon: yes | ||
| jnthn | pmichaud: oh. That may fix something with defined in Test.pm too, perhaps. | 16:39 | |
| colomon | \\o/ | 16:40 | |
| pmichaud | oh, well I'm getting compile failure now, so it may be a bit | ||
| pmurias | diakopter: i you're interested in App::Persistent you could help with checking if the distribution (www.yourcargo.org/App-Persistent-0.01.tar.gz) builds on a machine different from mine | ||
| diakopter | 0.01 ? | 16:41 | |
| analogous to mod_perl, but without apache? | |||
| colomon | philosophical question here: I can work around the infix:<+> issue with Complex by just writing out the one line of code needed to implement the addition, rather than redispatching it. | 16:42 | |
| IMO redispatching it is a little less in violation of DRY, but on the other hand it seems insane that Num + Complex should take longer to execute than Complex + Num. | 16:43 | ||
| pmurias | diakopter: it forks a new copy of a process instead of loading all the libraries once more | ||
| diakopter | like mod_perl prefork except not prefork? synchronous fork? | 16:44 | |
|
16:44
payload joined
|
|||
| pmurias | i don't fully remember how mod_perl worked but i's something like that ;) | 16:44 | |
| diakopter | prefork would be even speedier | 16:45 | |
| pmurias | i think one forked copy is used only once | ||
| diakopter | ok | ||
| pmurias | so you don't have problems with persistent trash | 16:46 | |
| diakopter: my fork lives at github.com/pmurias/app-persistent if you want to add prefork | 16:47 | ||
| arnsholt | Is &infix:<<=>> the right name for the numeric comparison operator? | 16:53 | |
| pmichaud | Yes. | ||
| well, it depends, actually | 16:54 | ||
| moritz_ | erm, no | ||
| pmichaud | internally it's stored as &infix:<<=>> | ||
| but if you're writing it in the setting or code you'll want &infix:«<=>» | |||
| jnthn | Is the right name in terms of how we name-mangle it. | ||
| moritz_ | &infix:<<=>> is the same as &infix:<=> | ||
| in Perl 6 at least, dunno about Rakudo :-) | |||
| jnthn | If you're writing a call from PIR, for example, or naming it in the actions or something, then that'd be the form to use. | ||
| If you're writing it in Perl 6 code, then what moritz_ said. :-) | 16:55 | ||
| masak | moritz_: what pmichaud said. it depends on what level of abstraction you're looking at. :) | ||
| pmichaud | moritz_: Perl 6 spec says that &infix:«<=>» is stored in the symbol table as &infix:<<=>> . | ||
|
16:55
_jaldhar joined
|
|||
| moritz_ | pmichaud: ok, so it's not wrong, but you can't refer to it by that name easily in Perl 6 | 16:55 | |
| pmichaud | moritz_: correct. | ||
| in the setting, it should be written with the « » | 16:56 | ||
| (I'm not sure if the compiler supports that yet) | |||
| oddly, that's also where my current failure appears. :-( | 16:58 | ||
| (handling of category:<xyz> names) | |||
| arnsholt | This sounds a bit complicated. I'll just use &infix:<cmp> instead. This is just for fiddling | ||
|
17:01
kaare joined
|
|||
| diakopter | jnthn: how can I test for an Undef value in nqp | 17:02 | |
| pmichaud | pir::defined__IP($value) | 17:04 | |
| I plan to add a defined prefix operator, though :-) | |||
|
17:10
astrojp left
|
|||
| pmichaud | okay, pushed ng branch with prefix/postfix fix. | 17:10 | |
| mathw | afternoon | ||
| colomon | I should have most of Complex arithmetic back on-line shortly. | 17:12 | |
| (that's basic arithmetic, + - * /) | 17:13 | ||
|
17:15
payload joined
|
|||
| diakopter | pmichaud: oh! thanks | 17:19 | |
|
17:22
qp_pq joined
|
|||
| moritz_ | S03-operator/true.t passes again | 17:24 | |
|
17:26
ktne joined
|
|||
| ktne | hello | 17:26 | |
| diakopter | hi | ||
| ktne | what is the last raduko that passes all spectest? | 17:27 | |
| moritz_ | good question - we've had problems with some tests for quite a while | ||
| and regressed on one for the last release | |||
| qp_pq | hi, just ate the white version of caviar | 17:30 | |
| ktne | is that fish eggs? | 17:31 | |
|
17:32
desertm4x_ joined
|
|||
| diakopter | qp_pq: eh? | 17:32 | |
| pmichaud | (and we've never passed *all* spectests :-) | ||
| qp_pq | diakopter: yeah like whit roe | 17:33 | |
| *white | |||
|
17:33
iblechbot joined
|
|||
| mathw | pmichaud: I have completely failed to make 'when' work even a little bit | 17:33 | |
| qp_pq | pretty good | ||
| pmichaud | mathw: did you look at how it's done in the master branch? | ||
| yes, it's non-trivial :-| | |||
| mathw | pmichaud: yes | ||
| colomon | colomon-- # checked in changes without making sure they worked with the latest git pull. :( | ||
| jnthn | mathw: Oh, I think I might have done it... | ||
| jnthn checks commit log... | |||
| mathw | jnthn: excellent | ||
| jnthn | (yes, I threw in so many commits I'm losing track of them by now :-/) | 17:34 | |
| mathw: yes | |||
| I did. | |||
| mathw | yay | ||
| jnthn | github.com/rakudo/rakudo/commit/b9d...35b70c2924 | 17:35 | |
| mathw looks to see how | |||
| it's okay anyway, i don't have time for a few days | |||
| turns out ihave a job interview on tuesday | |||
| so I'm brushing up on some stuff | |||
| pmichaud | + # Handle the smart-match. XXX Need to handle syntactic cases too. | 17:36 | |
| do we handle the syntactic cases even for 'when' statements? | |||
| I figured that was just plain .ACCEPT | |||
| jnthn | pmichaud: We did in master. | ||
| pmichaud | yes, but should we? | ||
| i.e., what does the spec say? | 17:37 | ||
| jnthn | pmichaud: I dunno. I was relying on me having read the spec at some point in the past. ;-) | ||
| pmichaud | spec changes :-) | ||
| jnthn | Yeah, true. | ||
| It was quite obvious that I'd gone out of my way to actually make when handle the syntactic cases. | |||
| qp_pq | mathw: how's p6 being received when you mention it at interviews ? | ||
| masak | rakudo: sub f(@a, $i=0) { $i ~ "[{map { f($_, $i + 1) }, @a}]" }; say f([[], [[]], []]) | ||
| p6eval | rakudo 7347ec: 0[1[] 2[3[]] 4[]] | ||
| masak adds that to #70469 | 17:38 | ||
| jnthn | We can check the spec, anyway. | ||
| mathw | qp_pq: I'll let you know after I've mentioned it | ||
| jnthn | mathw: oh, nicely golfed. | ||
| masak | jnthn: here I am :) | ||
| moritz_ detects a tab fail :-) | |||
| diakopter | hugme: hug qp_pq | ||
| hugme hugs qp_pq | |||
| pmichaud | masak: I suspect that's related to dispatch/binder changes, but that's just a guess. | ||
| masak | pmichaud: same here. | ||
| jnthn | Me too now I see it as a sub example. | ||
| qp_pq | diakopter: you mean I'm a troll ? | 17:39 | |
| jnthn | masak: Default param to blame? | ||
| masak | jnthn: I'll check. | ||
| rakudo: sub f(@a, $i) { $i ~ "[{map { f($_, $i + 1) }, @a}]" }; say f([[], [[]], []], 0) | |||
| diakopter | qp_pq: not necessarily | ||
| jnthn | moritz_: gah, worse is that it took me this long to realize it was me that failed. ;-) | ||
| p6eval | rakudo 7347ec: 0[1[] 2[3[]] 4[]] | ||
| masak | jnthn: no. | ||
| jnthn | masak: Aww. | 17:40 | |
| moritz_ | masak: dammit. I was just about to put it into S06-signature/defaults.t | ||
| jnthn | lol | ||
| masak | :) | ||
| pmichaud | looks to me as though a new lexpad isn't being created somehow. | ||
| arnsholt | Is multimethods a known quirky part of Rakudo? | ||
| jnthn | Yeah, the problem is in the somehow. | ||
| moritz_ | masak: and now I realize it's the wrong place, and I have no clue where to put it | ||
| jnthn | arnsholt: In master, no. | ||
| moritz_ | arnsholt: no | ||
| masak | moritz_: sorry :D | ||
| jnthn | arnsholt: In ng, probably some issues. | 17:41 | |
| arnsholt | Hmm | ||
| moritz_ | masak: did you submit it already? if yes, do you know the ticket number? | ||
| arnsholt | I'm on master | ||
| diakopter | qp_pq: would you like to contribute? there are many ways to do so | ||
| jnthn | 70469 | ||
| pmichaud | afk, lunch | ||
| moritz_ | thanks jnthn | ||
| qp_pq | diakopter: haven't slept for ~36h | ||
| diakopter: although I consider contributing | 17:42 | ||
| diakopter | well, that's interesting | ||
| ktne | qp_pq, you should get some sleep before you drop dead | ||
| qp_pq | my contribution to CPAN amounts to 9 patches | ||
| moritz_ | masak: smells a bit like the old "lexicals and recursion" bug of world fame | ||
| masak | moritz_: a bit. | 17:43 | |
| #58392 :) | |||
| qp_pq | modules patched -> SVG.pm, CGI.pm, Math::Polynomial, Lingua::NL::Numbers , and not all patches were accepted, or even noticed | ||
| pmichaud cries at the thought of #58392 being at all relevant again. | |||
| qp_pq | so maybe contributing to Perl6 will be a bit more noticeable | ||
| moritz_ | qp_pq: most of my CPAN patches seemed to be ignored too | ||
| jnthn | pmichaud: Heh, nah, I probably just managed something stupid in the binding or dispatch somehow. | ||
| qp_pq | you guys have a standard for p6 ? | 17:44 | |
| moritz_ | qp_pq: what do you mean by that? | ||
| qp_pq | moritz_: like this www.open-std.org/jtc1/sc22/wg21/do.../n1905.pdf | 17:45 | |
| diakopter | qp_pq: would you like a commitbit to the pugscode svn repo (which contains the specification & test suite)? /msg me your email address and preferred username; we'll send you one | ||
| mathw | qp_pq: perlcabal.org/syn | ||
| qp_pq: it's still a bit fluid | |||
| masak goes to the store to buy good food | |||
| qp_pq | wow you people are really friendly :) | ||
| qp_pq a.k.a spx2 | |||
| qp_pq a.k.a. perlhobby.googlecode.com/ | 17:46 | ||
|
17:50
Woody2143 left,
felipe left,
pjcj left,
IRSeekBot left,
ilbot2 left,
zostay left,
stepnem left,
nothingmuch left,
jjore left
17:59
Woody2143 joined,
BinGOs joined
18:00
jnthn joined,
meppel joined,
cognominal joined,
presh_ joined,
jantore joined,
Gothmog_ joined,
quietfanatic joined
18:01
zaslon joined,
LylePerl joined,
hicx174 joined,
slavik joined
18:02
cognominal joined,
Patterner joined,
dalek joined,
PacoLinux joined,
Apocal joined,
stepnem joined,
nothingmuch joined,
eiro joined,
jjore joined,
jnthn_ joined,
bigpresh_ joined,
Gothmog__ joined,
carlin joined,
barney joined,
parduncia joined,
Woodi joined,
dukeleto joined,
pugs_svn joined,
hatseflats joined,
jiing_ joined,
phenny joined,
sri__ joined,
constant joined,
cls_bsd joined,
spinclad joined,
Infinoid joined,
arthur-_ joined,
yath joined,
Juerd joined,
Maddingue joined,
omega_ joined,
ssm joined,
athomason joined,
cosimo joined,
lambdabot joined,
pmichaud joined,
cotto_work joined,
kst joined,
mj41 joined,
lisppaste3 joined,
pnu joined,
elmex joined,
silug joined,
Bucciarati joined,
dukelet0 joined,
cotto joined,
solarion joined,
mtve joined,
PerlJam joined,
cookys joined,
gfldex joined,
Grrrr joined,
TimToady joined,
christine joined,
renormalist joined,
literal joined,
s1n joined,
bloonix joined,
estrabd joined,
frettled joined,
nsh joined,
sunnavy joined,
yves joined,
Khisanth joined,
arnsholt joined,
sbp joined,
cxreg joined,
dj_goku joined,
jrockway joined,
shachaf joined,
akl joined,
drbean joined,
charsbar joined,
r0bby joined,
revdiablo joined,
obra_ joined,
moritz_ joined,
rapacity joined,
Tene joined,
jsut|work joined,
goneri joined,
tylerni7 joined,
japhb joined,
broquaint joined,
Lorn joined,
gabiruh joined,
astinus joined,
allbery_b joined,
frew joined,
krakan joined,
mathw joined,
simcop2387 joined,
szabgab joined,
xomas_ joined,
Meldrake joined,
Exodist joined,
lmc joined,
Jedai joined,
itz joined,
[particle]1 joined,
jeremiah1 joined,
colomon joined,
Eevee joined,
rgrau joined,
orafu joined,
PZt joined,
[synth] joined,
Helios- joined,
wisemanby joined,
xenoterracide joined,
pnate2 joined,
gbacon joined,
pointme joined,
NorwayGeek joined,
p6eval joined,
xinming_ joined,
zloyrusskiy joined,
Su-Shee joined,
araujo joined,
kidd joined,
IllvilJa joined,
am0c__ joined,
_jaldhar joined,
kaare joined,
qp_pq joined,
ktne joined,
iblechbot joined,
wolverian joined,
desertm4x_ joined,
pmurias joined,
diakopter joined,
REPLeffect_ joined,
tomaw_ joined,
diggdogg joined,
jantore_ joined
18:03
mepplock joined,
c9s joined,
justatheory joined,
Chillance joined,
hcchien joined,
Wolfman2000 joined,
kangas joined,
KatrinaTheLamia joined,
buu_ joined,
mdxi joined,
crazed joined,
sjohnson joined,
baest joined,
leedo joined,
hsb joined,
estrai joined
18:09
nbrown joined
|
|||
| diakopter | large netsplit.. | 18:11 | |
|
18:12
jan_____ joined
18:13
nihiliad joined
|
|||
| mathw | hmm, that was messy | 18:14 | |
|
18:14
oZ] joined
18:15
christine joined
18:20
yahooooo joined
18:21
chromatic joined
|
|||
| pmichaud | back | 18:22 | |
|
18:24
felipe joined
|
|||
| arnsholt | Bugreport submitted. With source of segfault even | 18:29 | |
|
18:29
payload joined
|
|||
| mathw | arnsholt++ | 18:30 | |
| arnsholt | It's either a simple oversight in a macro, or an improperly initialised data structure; I'm not familiar enough with the code to determine which | ||
|
18:32
pmurias joined
18:36
rfordinal joined
|
|||
| dalek | p-rx: aa07d85 | pmichaud++ | src/cheats/hll-grammar.pir: In HLL::Grammar.EXPR, make a better distinction between <termish> and <term>. |
18:52 | |
| p-rx: 9b01eaa | pmichaud++ | src/cheats/hll-grammar.pir: Convert termstack and opstack from lexicals to parameters for reusability. |
|||
| p-rx: a984e53 | pmichaud++ | src/ (3 files): Eliminate nullterms in source code. |
18:53 | ||
| p-rx: 49e36a8 | pmichaud++ | src/ (5 files): Update <EXPR> to properly handle prefix/postfix and terms. |
|||
| p-rx: 9ded5d3 | pmichaud++ | src/stage0/ (3 files): Update boostrap with fixed EXPR and nullterm handling. |
|||
| pugs_svn | r29094 | moritz++ | [t/spec] r29067 removed :keepall, so get rid of it | 18:55 | |
| moritz_ | rakudo: say 'foo' ~~ /<alpha>/ && say $/ | 18:56 | |
| p6eval | rakudo 7347ec: f1 | ||
| diakopter | pmurias: EV doesn't pass all its tests | 18:58 | |
| Wolfman2000 | afternoon all | 18:59 | |
| moritz_ | good localtime * | 19:00 | |
| Wolfman2000 | unsure how much work I can get done on the new Pastebin...have to catch up on homework | ||
| Would have done so last night, but...well, I had company. | |||
| pugs_svn | r29095 | moritz++ | [t/spec] as per r29067 <foo=bar> aliasing preserves the $<bar> capture, but <foo=.bar> does not | 19:02 | |
| r29096 | moritz++ | [u4x] more TODOs :-) | 19:06 | ||
| r29097 | moritz++ | [docs] remove blog/, which slowly bitrots | |||
| colomon | pmichaud: is there an eta for "for" | 19:08 | |
| ? | |||
| pmichaud | colomon: not at the moment. | 19:10 | |
| we could possibly put in the (not quite right) for from master, if we're in a hurry for it. | |||
| colomon | it would help with the math tests. | 19:11 | |
| pmichaud | looking. | 19:12 | |
| colomon | but we can accomplish a lot working around it. | ||
|
19:14
nihiliad1 joined
|
|||
| pmichaud | I may have a cheating form | 19:14 | |
| colomon | \\o/ | ||
|
19:17
nbrown joined
19:18
nbrown joined,
am0c__ joined
|
|||
| pugs_svn | r29098 | moritz++ | [examples] small fixes to Grammar-IRC.pm | 19:24 | |
| Wolfman2000 | ...right, that reminds me. I need to recompile STD.pm at some point. | 19:26 | |
|
19:27
Su-Shee left
|
|||
| pmichaud | jnthn: ping | 19:30 | |
|
19:31
nbrown_ joined
19:32
desertm4x__ joined
|
|||
| jnthn | pmichaud: p0ng | 19:32 | |
|
19:33
constant_ joined
|
|||
| pmichaud | is there an easy way to get the arity (and perhaps count) from a P::C::Signature object? | 19:33 | |
| I need to set the block arity in PAST | |||
| I was just going to write a .arity method for now. | |||
| pugs_svn | r29099 | moritz++ | [misc] remove botnix_plugins, which are now developed at | 19:34 | |
| r29099 | github.com/Infinoid/dalek-plugins/ | |||
| moritz_ | do we still have global variables, officially? | 19:36 | |
| jnthn | pmichaud: I think add a .arity method to P::C::S | 19:37 | |
| pmichaud | done | ||
| we probably won't need it when we have lazy map | |||
|
19:38
alester joined
|
|||
| colomon dreams of lazy map.... | 19:43 | ||
| jnthn | pmichaud: Cool. Hope it was easy to write. :-) | ||
| pmichaud | 'for' pushed | ||
| well, sorta | 19:46 | ||
| something's not working right | |||
| works with pointy blocks, but not with an implicit topic block | 19:47 | ||
|
19:48
[particle] joined
|
|||
| pmichaud | ah, I see | 19:48 | |
|
19:48
Whiteknight joined
|
|||
| pmichaud | arity of an implicit topic block is zero. | 19:48 | |
| mathw | so it needs to spot an implicit block as a special case? | 19:49 | |
|
19:49
ktne joined
|
|||
| pmichaud | mathw: that's a workaround, not the ideal solution. | 19:49 | |
|
19:49
masak joined
|
|||
| mathw | mmm | 19:49 | |
| special cases are not good | 19:50 | ||
| pmichaud | better would be if 'for' knew how to deal with count as well as arity | ||
| still better will be when for/map can do partial signature binds | |||
| mathw | well make that work first then :) | 19:52 | |
| pmichaud | that still needs a Perl 6 spec, alas. | ||
| so until then, we're stuck with .arity/.count :) | |||
| mathw | :( | ||
| diakopter | well, STD creates a signature for it based on the number of $^aaaa | 19:53 | |
| mathw | I saw something about that in there | 19:54 | |
| jnthn | Partial signature binds...they may be a minor brane ache. | ||
| (not too bad though...) | |||
| pmichaud | I'll just force arity to be at least one for now | 19:56 | |
| it's a 1-line change in a section that is going to be rewritten anyway :-) | |||
| updated 'for' pushed | 19:59 | ||
|
20:00
nihiliad joined
|
|||
| colomon | pmichaud++ # was just failing to get the last one to work.... | 20:00 | |
| 1..20 nyi? | 20:04 | ||
| ng: say (1..20).perl | 20:05 | ||
| p6eval | ng 6ae412: Confused at line 1, near "say (1..20"current instr.: 'perl6;HLL;Grammar;panic' pc 448 (src/stage0/HLL-s0.pir:300) | ||
| jnthn | colomon: afaik nyi | 20:06 | |
| masak | ng: say map { $_ * 2 }, 1, 2, 3; | 20:09 | |
| p6eval | ng 6ae412: Could not find non-existent sub &mapcurrent instr.: '_block14' pc 29 (EVAL_1:0) | ||
| jnthn | masak: Thing is, we need gather/take, and they need re-doing to be lazy. | 20:11 | |
| masak | ng: sub f(@a, $i=0) { my @b; $i ~ "[{ for @a { @b.push(f($_, $i + 1)) }; @b }]" }; say f([[], [[]], []]) | ||
| p6eval | ng 6ae412: Confused at line 1, near "say f([[],"current instr.: 'perl6;HLL;Grammar;panic' pc 448 (src/stage0/HLL-s0.pir:300) | ||
| pmichaud | I don't think ng has interpolated closures yet. | 20:12 | |
| masak | oh. | ||
| pmichaud | ng: say "{1 + 2}" | ||
| p6eval | ng 6ae412: {1 + 2} | ||
| pmichaud | still, I'm surprised it didn't at least print out the constant. | ||
| jnthn | yeah, same...I'm not sure where it exploded... | 20:13 | |
| pmichaud | ng: say [[], [[]], []].perl | ||
| p6eval | ng 6ae412: Confused at line 1, near "say [[], ["current instr.: 'perl6;HLL;Grammar;panic' pc 448 (src/stage0/HLL-s0.pir:300) | ||
| jnthn | oh, there. | ||
| pmichaud | ng: say [[], [[]], []] | ||
| p6eval | ng 6ae412: Confused at line 1, near "say [[], ["current instr.: 'perl6;HLL;Grammar;panic' pc 448 (src/stage0/HLL-s0.pir:300) | ||
| pmichaud | ng: say [] | ||
| p6eval | ng 6ae412: Confused at line 1, near "say []"current instr.: 'perl6;HLL;Grammar;panic' pc 448 (src/stage0/HLL-s0.pir:300) | ||
| jnthn | oh | ||
| pmichaud | :-) | ||
| jnthn | I think I noticed that the other day. | ||
| pmichaud | that's easily added. | ||
| jnthn | It has an epic distaste for empty circumfixes. | ||
| ng: my @a; @a[] | |||
| p6eval | ng 6ae412: Confused at line 1, near "@a[]"current instr.: 'perl6;HLL;Grammar;panic' pc 448 (src/stage0/HLL-s0.pir:300) | ||
| jnthn | same for empty post-circumfixes. | ||
| Probably easy too though. | 20:14 | ||
| ELOTSOFLHF | |||
| pmichaud | empty post-circumfix is a little trickier, since it's a zen slice | ||
| colomon | PAST::Compiler can't compile node of type BigInt | ||
| pmichaud | I'm not sure where the BigInt is coming from. | 20:15 | |
| oh, wait | |||
| no | |||
| hrm. | |||
| colomon | that's in complex.t | ||
| pmichaud | if you can narrow it down to a single test, that could help | ||
| colomon | working on it | ||
| but kind of stumped at the moment | 20:17 | ||
| would that happen after the first stage of parsing | 20:18 | ||
| jnthn | That is kinda...odd. | ||
| colomon: Do you get same error with --target=pir rather than just running it too? | |||
| pmichaud | the problem is likely that some numish value is being auto-promoted by Parrot. | 20:19 | |
| Although I didn't know that Parrot had BigInts | |||
| are there any large decimal values floating around in complex.t? i.e., with lots of digits that might overflow a 32-bit int? | 20:20 | ||
| colomon | jnthn: same error | ||
| pmichaud: small values, maybe? | 20:22 | ||
| jnthn | colomon: Maybe --target=past will work then and you can search the past tree for BigInt, then try and trace it back to the code. | ||
| colomon | -1.83697e-16-1i | ||
| pmichaud | I think that normally goes to a num | ||
| I'm looking for large rats | |||
| jnthn | www.altpet.net/rodents/cricetomys/jo/jo3-98.jpg | 20:23 | |
| colomon: If you can, there should be some source => or similar around that point back to the code near the BigInt | |||
| arnsholt | jnthn: That -is- a big rat =D | 20:24 | |
| pmichaud | ...except I doubt that the dump will show the BigInt | ||
| jnthn | pmichaud: Maybe not, no. | ||
| pmichaud | oh, it might, actually | ||
| colomon | pi | ||
| my $pi = 3.141592653589793238; | |||
| pmichaud | pi would do it, if it's too large | ||
| jnthn | pmichaud: But it may, so I guess wroth a try. :-) | ||
| Ah | |||
| colomon | that's just a guess | 20:25 | |
| pmichaud | > my $pi = 3.141592653589793238; | ||
| no bigint lib loaded | |||
| lambdabot | <no location info>: parse error on input `=' | ||
| moritz_ | ng: 3.141592653589793238 | ||
| p6eval | ng 1ddafa: No applicable candidates found to dispatch to for '&infix:<div>'current instr.: 'perl6;Rat;new' pc 163055 (src/gen/core.pir:11051) | ||
| pmichaud | okay, so my guess is that it runs out of range while computing the .14159265.... part | 20:26 | |
| moritz_ | just make it a Num | ||
| by attaching a e0 at the end | |||
| pmichaud | sure, but we have to detect it | ||
| no, don't do that | |||
| I'd rather not be polluting our test suite with workarounds | 20:27 | ||
| moritz_ | pmichaud: it was never intended to be a Rat | ||
| pmichaud | (also, it's not clear that e0 should be forcing num-ness :-) | ||
| moritz_ | pmichaud: when the test was written it as supposed to give a Num, which makes sense in that context | ||
| pmichaud | moritz_: I understand that. | ||
| moritz_ | it's not clear? | ||
| pmichaud | does the spec say that literals with exponentials are always cast to Num ? | 20:28 | |
| jnthn | I thought that was how you made clear you wanted a Num. | ||
| pmichaud | I would think the way to make clear you want a Num is with Num(...) :-) | ||
| jnthn | As a literal. :-P | ||
| moritz_ | that's a coercion, not a literal | 20:29 | |
| arnsholt | my Num $pi, or would that just trigger a coercion behind the scenes? | ||
| pmichaud | arnsholt: that's a constraint, not a coercion | ||
| arnsholt | Point | ||
| moritz_ | arnsholt: that would be a type check, not... what pmichaud wrote | ||
| colomon | pretty sure I have verification that pi is it | ||
| pmichaud | colomon: oh sure, I already verified. See above :) | 20:30 | |
| arnsholt | moritz_: Oh, right | ||
| moritz_ | Decimal fractions not using "e" notation are also stored as C<Rat> values: | ||
| 6.02e23.WHAT # Num | |||
| jnthn | Decimal fractions not using "e" notation are also stored as C<Rat> values: | ||
| pmichaud | okay, so e forces num | ||
| jnthn | oh, moritz_ beat me. | ||
| moritz_ | :-) | ||
| pmichaud | okay, if you want to add the e0 to force it in the tests, that's fine with me :-) | ||
| I'd still like to get 3.141592653589793238 to work properly too, though. | 20:31 | ||
| although perhaps that fits in a 64-bit rat | |||
| colomon | ng: say 3.141592653589793238e0 | ||
| p6eval | ng 1ddafa: 3.14159265358979 | ||
| colomon | huh | ||
| moritz_ | ng: say 3.141592653589793238e0.WHAT | 20:32 | |
| p6eval | ng 1ddafa: Num() | ||
| colomon | doesn't appear to work in complex.t?!? | ||
| Multiple Dispatch: No suitable candidate found for 'multiply_float', with signature 'PNP->P' | 20:33 | ||
| pmichaud | colomon: it undoubtedly has to do with NQP and Parrot register semantics | 20:34 | |
| pugs_svn | r29100 | moritz++ | [t/spec] make pi a Num instead of Rat | 20:35 | |
| pmichaud | converting the digit sequence into numbers requires that we know where we're storing the results, and how | 20:37 | |
| in the example above, 141692653589793238 is too large to fit in a 32-bit int | 20:38 | ||
| moritz_ | rakudo: say log2(141692653589793238) | 20:39 | |
| p6eval | rakudo 7347ec: Could not find non-existent sub log2in Main (file src/gen_setting.pm, line 324) | ||
| moritz_ | rakudo: say log(141692653589793238, 2) | ||
| p6eval | rakudo 7347ec: No applicable candidates found to dispatch to for 'log'in Main (file <unknown>, line <unknown>) | ||
| moritz_ | rakudo: say log(141692653589793238)/log(2) | ||
| p6eval | rakudo 7347ec: 56.9755425731454 | ||
| moritz_ thought we had a patch for that somewhere | 20:40 | ||
| pmichaud | patch for ... ? | ||
| moritz_ | log with base | ||
| pmichaud | afk, soccer party | 20:54 | |
| jnthn | .oO( don't they call that a ball? ) |
20:55 | |
| colomon | y] | 20:56 | |
| 757 passing rat tests | |||
|
20:57
yahooooo joined
|
|||
| jnthn | \\o/ | 20:57 | |
| moritz_ | ng doesn't support the -c option yet, it seems | 21:01 | |
|
21:14
nihiliad1 joined
21:19
justatheory_ joined
|
|||
| diakopter | r-ng. sounds suspiciously like rng. | 21:24 | |
| Wolfman2000 | I'll be back later. With luck, I can knock out more of the website. Core functionality is available at least. | 21:27 | |
|
21:31
astrojp joined
21:44
payload joined
|
|||
| colomon | oh noes. | 21:47 | |
| If I leave it in, test #759 kills rat.t | 21:48 | ||
| If I skip it, rat.t dies on test #55. | |||
| :O | |||
| diakopter | leaving it might induce a stack overflow or out-of-memory in parsing | 21:49 | |
|
21:50
[[synth]] joined
|
|||
| pmurias | diakopter: EV not passing tests is bad | 22:03 | |
| diakopter: do you know what's the reason? | 22:09 | ||
|
22:10
synth joined
|
|||
| diakopter | nope | 22:13 | |
| japhb | pmichaud, ping | ||
| diakopter | same as the bug report on rt.cpan.org for it | ||
| that the author auto-replied with STFU | |||
|
22:14
payload joined
22:15
mikehh joined
|
|||
| diakopter | www.xent.com/pipermail/fork/Week-of...54578.html | 22:23 | |
| jnthn | ...wow | 22:25 | |
| ! | |||
|
22:28
oZ] joined
|
|||
| diakopter | email address literals; lol. | 22:29 | |
| jnthn | In Perl 6, they're just a slang away. :-) | 22:32 | |
| Just imagine! We could be THE language for spammers! | |||
| my $target = foo@bar.com; $target.send_mail('oh hai', 'i haz v1agraz for you!'); | 22:33 | ||
| japhb | "Oh good, 'cause I always wanted me some v1agraz!" | 22:35 | |
| diakopter | std: my ::larry@wall.org | ||
| p6eval | std 29100: ok 00:01 101m | ||
| diakopter spends too much time attacking parsers. | |||
| pmurias | diakopter: you should approach them with kindness not agression ;) | 22:36 | |
| diakopter | EKILLINGMESOFTLYWITHHISFUZZER | ||
| japhb | Um, Ow. | 22:37 | |
| jnthn | lol | ||
| japhb | Or are you talking about a cat that hasn't had his claws trimmed recently?\\ | ||
| jnthn | std: sub term:<email> is parsed(/\\w+\\@\\w+\\.\\w+/) { }; | ||
| p6eval | std 29100: ok 00:02 111m | ||
| japhb starts humming Ted Nugent | 22:38 | ||
| diakopter | ltm fail | 22:39 | |
|
22:41
rfordinal3643 joined
22:42
Whiteknight joined
|
|||
| zaslon | lolmasakhazblogged! masak++ 'November 15 2009 -- money gets inflated, time gets deflated': use.perl.org/~masak/journal/39901?from=rss | 22:44 | |
| frettled | masak: yay? | 22:46 | |
| masak | frettled: I don't know how to answer that. :) | 22:47 | |
| frettled | masak: just smile, wave and nod. | ||
| masak just smiles, waves and nods | |||
| diakopter yays | 22:48 | ||
| jnthn | yaymasakblogged! | ||
| lisppaste3 | colomon pasted "my hacked for ng version of rat.t" at paste.lisp.org/display/90448 | 22:50 | |
| diakopter | "your programming language is so inflated, it always compiles to an assembly/image smaller than the source code size" | ||
| colomon: where does it fail now | |||
| colomon | pmichaud, jnthn, etc: look for # This is the spot | ||
| diakopter: this version fails at #462. but just uncommenting the 3 tests are "This is the spot" will get it to fail at #757 or so. | 22:51 | ||
| This is in the ng branch. | |||
| diakopter | yar | ||
| colomon | And skipping makes them fail at #55. | ||
| It's panic-inducing. | |||
| diakopter | #757 or so? what happens if you prove just that file? | 22:52 | |
| colomon | diakopter: this is using the makefile to prove that file, ala make t/spec/S32-num/rat.t | 22:53 | |
|
22:53
mikehh joined
|
|||
| arnsholt | diakopter: That was a very interesting rant you linked | 22:55 | |
| I think he's being overly demanding on several points, but he does have quite a few good points as well | |||
| masak | it figured on Twitter a few days ago, with the comment 'the Python people want CPAN'. | 22:56 | |
| I don't remember who posted it. | |||
| diakopter was catching up on a tweetweek | |||
| japhb | It feels like the ranter doesn't understand the waterbed principle. | 22:57 | |
| colomon | waterbed? | ||
| masak | ah, it was nihiliad1 who forwarded this link: chris.prather.org/everybody-wants-s...-cpan.html | ||
| japhb | Not that he doesn't have good points, but I feel a "people have gotten 80% of the way to being able to compress every possible file, so why can't we get 100%" vibe. | ||
| arnsholt | colomon: Decreased complexity in one place means increased complexity elsewhere | ||
| masak | colomon: chris.prather.org/everybody-wants-s...-cpan.html | 22:58 | |
| arnsholt | And vice versa | ||
| masak | oops. | ||
| colomon: en.wikipedia.org/wiki/Waterbed_theory | |||
| japhb | colomon, TimToady's idea: complexity is a waterbed. Push down in one place, it goes up in another. Get a super simplified syntax, and something else just got a lot harder. | ||
| colomon | Ah, heard that explanation years ago and completely forgot it. | 22:59 | |
|
22:59
oZ] left
|
|||
| colomon | danke. | 23:00 | |
| japhb | Note that the waterbed theory doesn't apply if there are bubbles ... just that once all bubbles are gone, then you have an incompressible liquid to deal with. | ||
| diakopter | I guess it depends how strong the waterbed frame/bag are, and how much pressure can be applied. I suspect water can be compressed until fusion occurs | 23:03 | |
| masak | diakopter: I think that counts as the funniest thing someone has said today. | 23:04 | |
| time to go home and sleep. | 23:10 | ||
| 'night, #perl6. | |||
|
23:20
IRSeekBot joined
23:21
rhr joined,
jeremiah1 joined
|
|||
| pmichaud | my $a = (); say $a.WHAT; # ??? | 23:22 | |
| what should be the result there? | 23:23 | ||
| jnthn | hm | ||
| pmichaud | I can think that it would be a List, Nil, a Failure.... | ||
| jnthn | pmichaud: First, what does () itself construct? | 23:24 | |
| pmichaud | japhb: pong | ||
| jnthn: well, the answer to my question tells me what () constructs :-) | |||
| jnthn | pmichaud: I'm under the impression infix:<,> is what constructs our Parcel. | ||
| pmichaud: Well, no, because the item assignment enforces a context. | |||
| pmichaud | sure, infix:<,> constructs a parcel -- that's not my question | ||
| I know that my $a = (1,) # List | |||
| jnthn | And if the answer to the first question were to be Parcel (which I don't think it is though) then the context would matter. :-) | ||
| pmichaud | I'm pretty certain the answer to the first question is not Parcel | 23:25 | |
| jnthn | Right, me too. | ||
|
23:25
eternaleye joined
|
|||
| jnthn | But wanted to clear that option up first. :-) | 23:25 | |
| pmichaud | if () produces a List, then $a would be a List | ||
| if () produces Nil, then $a would be either Nil or some sort of Undef | |||
| jnthn | Nil feels closest to correct. | 23:26 | |
| japhb | pmichaud, did you decide how you wanted to handle "global" variables in NQP? For example, did you decide yay or nay on having contextuals have a final try at namespace []? | ||
| pmichaud | japhb: so far I'm leaning towards yea | ||
| japhb: I haven't decided yet | |||
|
23:26
Infinoid_ joined
|
|||
| pmichaud | if () produces Nil, then I'd expect my $a = () to be undef. | 23:27 | |
| japhb | If you're inside a module Foo::Bar, how would you declare a variable in that namespace. Actually, in general, how do you refer to things in other namespaces in NQP (other than the 'new' operation)? | ||
| jnthn | Yeah | ||
|
23:27
Grrrr joined
|
|||
| jnthn | But it also does something sane for my @a = (); | 23:27 | |
| (if it produces Nil) | |||
| pmichaud | jnthn: sure, but that would be true if () is a List, too | ||
| jnthn | I guess List would as well... | 23:28 | |
|
23:28
arnsholt joined
|
|||
| pmichaud | japhb: declare a variable in the Foo::Bar namespace? | 23:28 | |
| jnthn | pmichaud: OTOH, I guess (), (1), (1,2) # we have a dis-continuity at (1)... | ||
| pmichaud | that would just be 'our' | ||
| japhb | Right. And how do you refer to the [] namespace from any other namespace? | ||
| pmichaud | japhb: I'm thinking it'll be GLOBAL:: | 23:29 | |
| japhb | ack, $family, brb | ||
| pmichaud | jnthn: we already know there's a discontinuity at (1) -- been that way for quite a while | ||
| I'm not trying to remove the discontinuity -- just trying to get a handle on what () and Nil really mean and when they're used :) | 23:30 | ||
| jnthn | pmichaud: Sure, I'm just pondering whether having () special too is too much discountinuity. | ||
| I think that since we generally don't see () as the thing that constructs a List, I'd go towards Nil. | |||
| diakopter | I thought Nil was List | 23:31 | |
| jnthn | Nil is a listy kind of undef. | ||
| (In list context it evaporates.) | |||
| diakopter | and then condenses | 23:32 | |
|
23:33
mikehh joined
|
|||
| diakopter | I mean, I thought Nil was empty List | 23:34 | |
| pmichaud | diakopter: it was at one time, yes. | ||
| diakopter: I think it has morphed a bit since then | 23:35 | ||
|
23:36
yahooooo joined
|
|||
| jnthn | pmichaud: Hmm. Well, I guess this was all a tad unconclusive. :-) | 23:38 | |
| pmichaud: imho, Nil gets my vote. | 23:39 | ||
|
23:39
payload joined
23:41
kst joined
|
|||
| colomon | oh noes ^2! | 23:46 | |
| If I run rat.t under normal ng, I get a bus error around test #482. | |||
| japhb | nqp: module Foo::Bar { $Baz::Quux::a := 5; say ($Baz::Quux::a); } | 23:47 | |
| p6eval | nqp: Unable to parse blockoid, couldn't find final '}' at line 1current instr.: 'parrot;Regex;Cursor;FAILGOAL' pc 1630 (src/Regex/Cursor-builtins.pir:179) | ||
| japhb | nqp: module Foo::Bar { $Baz::Quux::a := 5; say($Baz::Quux::a); } | ||
| p6eval | nqp: Unable to parse blockoid, couldn't find final '}' at line 1current instr.: 'parrot;Regex;Cursor;FAILGOAL' pc 1630 (src/Regex/Cursor-builtins.pir:179) | ||
| colomon | If I run it under valgrind, it gets to test #759 and then dies with a (correct) perl6 error. | ||
| japhb | nqp: $Baz::Quux::a := 5; say($Baz::Quux::a); | ||
| p6eval | nqp: Confused at line 1, near "$Baz::Quux"current instr.: 'parrot;HLL;Grammar;panic' pc 448 (src/cheats/hll-grammar.pir:197) | ||
|
23:48
snearch_ joined
|
|||
| pmichaud | nqp doesn't recognize $ABC::def syntax yet, I don't think. | 23:48 | |
| japhb | pmichaud, yeah, looks like so. | ||
|
23:59
erkkk joined
|
|||