»ö« 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 sorear on 4 February 2011.
00:00 stepnem left 00:02 Trashlord left 00:03 Trashlord joined 00:09 stepnem joined, FordPhoenix joined
FordPhoenix perl6: fork while fork 00:11
p6eval niecza v12-2-geb42dfa: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'fork' used at line 1,1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 880 (die @ 2) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1139 (P6.comp_unit @ 32) ␤ at /hom… 00:12
..rakudo 2b3135: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&fork' called (lines 1, 1)␤»
..pugs b927740: OUTPUT«*** Unsafe function 'fork' called under safe mode␤ at /tmp/dmTte77WmZ line 1, column 12 - line 2, column 1␤»
FordPhoenix perl6: `rm -rf /`
p6eval pugs b927740: OUTPUT«*** Unsafe function 'Pugs::Internals::runShellCommand' called under safe mode␤ at /tmp/3RmdQHlQRd line 1, column 1 - line 2, column 1␤»
..niecza v12-2-geb42dfa: OUTPUT«===SORRY!===␤␤Bogus statement at /tmp/ZYi4tyWl2H line 1:␤------> <BOL>⏏`rm -rf /`␤␤Parse failed␤␤»
..rakudo 2b3135: OUTPUT«===SORRY!===␤Confused at line 1, near "`rm -rf /`"␤»
diakopter FordPhoenix: please stop :/
FordPhoenix my frand told me 2 sry 00:13
00:14 overrosy left
FordPhoenix say hi 2 omgle vido chat =]!! 00:14
00:14 overrosy joined
sorear Could you try correct spelling and grammar? I can't understand you. 00:15
tadzik <obligatory "what if your friend told you to smack your head with a hammer"> 00:16
FordPhoenix i rpbly wuld
it sound rly fun
b r b smaking hed with hamrr
i showing it 2 my frand on omgle [= 00:17
diakopter I assume you mean the anonymous video chat site omegle 00:18
FordPhoenix ya
tadzik omg
;)
FordPhoenix [O]h [M]y [G]öÐ 00:19
jnthn .u öÐ
phenny U+00F6 LATIN SMALL LETTER O WITH DIAERESIS (ö)
U+00D0 LATIN CAPITAL LETTER ETH (Ð)
00:20 arlinius left
FordPhoenix ⓗⓐⓗⓐⓗⓐⓗⓐⓗⓐⓗⓐ 00:20
diakopter I tire of you
00:22 overrosy left
FordPhoenix diakopter: ¯¯¯º [£]àuGhz [O]u+ [L]oÙÐ º¯¯¯ 00:22
00:23 FordPhoenix left
jnthn aol. 00:23
00:24 FordPhoenix joined, overrosy joined
sorear FordPhoenix: That kind of behavior is not welcome here. 00:25
00:25 ChanServ sets mode: +o diakopter, FordPhoe1ix joined 00:28 FordPhoenix left 00:29 overrosy left 00:30 overrosy joined
jnthn 'night, #perl6 00:30
cotto 'night 00:31
00:37 fridim_ left 00:39 overrosy left 00:45 overrosy joined, FordPhoe1ix left 00:59 hundskatt left 01:00 kcwu left 01:01 kcwu joined 01:02 overrosy left 01:04 overrosy joined 01:07 arlinius joined 01:08 mtk left 01:14 Vlavv` left 01:17 tokuhirom joined 01:18 vmspb left, tokuhirom left 01:19 tokuhirom joined 01:20 wolfman2000 joined 01:22 Vlavv` joined 01:24 tokuhirom left 01:31 kcwu left 01:33 plutoid joined 01:38 woosley joined 01:42 arlinius left 01:47 kcwu joined 01:51 slavik1 left 01:56 Guest75643 left 02:04 arlinius joined 02:11 overrosy left 02:13 overrosy joined 02:25 benabik joined 02:26 cooper left 02:28 shinobicl_ joined
shinobicl_ hi.... i am running a test on a module i'm doing... but something weird happens. My test ends with a segmentation fault at the 3rd test. But, when i add a 'say "1"' to the most called function, it fails but this time at the 89th test... 02:31
s/it fails/ends with a segmentation fault/ 02:32
02:33 cooper joined
colomon shinobicl_: what compiler? 02:41
shinobicl_ i compiled rakudo just yesterday 02:42
perl6 -v does not seem to work
so i will say that is the latest version 02:43
colomon try perl6 --version 02:44
shinobicl_ "This is perl6 version 2011.11-65-ga8dfd47 built on parrot 3.10.0 revision RELEASE_3_10_0-30-ga8cb7da"
colomon okays, that's real recent. 02:45
it's a literal segmentation fault?
shinobicl_ yes, it's literally a "segmentation fault" 02:46
i'll try to upload my code to github.... please give me a few minutes 02:47
colomon no worries.
shinobicl_ there is the .t file 02:57
github.com/shinobi/TaskScheduler/b...Calendar.t
this is the module
github.com/shinobi/TaskScheduler/b...alendar.pm
im uploading the "calendar" files used for testing 02:58
colomon okay, I've cloned the github repo 03:00
03:00 overrosy left
shinobicl_ github.com/shinobi/TaskScheduler/t...ster/t/res 03:02
03:02 overrosy joined
shinobicl_ on WorkdayCalendar.pm, look for the lines 'say "step 1"' and 'say "step 2"'. If you remove them, the test dies much earlier 03:04
03:04 satyavvd joined
colomon works with ufo? 03:04
03:04 donri left
shinobicl_ ehmmm.. "ufo"? 03:05
colomon standard makefile generator
shinobicl_ no, not yet 03:06
i started from scratch many months ago. I had stopped because my VPS didn't have enough memoty to compile newer versions of rakudo.. until yesterday when i upgraded it to 1GB of RAM :) 03:07
03:08 overrosy left
colomon apparently you don't need it with your test files anyway. :) 03:08
okay, t/WorkdayCalendar.t actually runs without crashing for me 03:09
03:09 overrosy joined
shinobicl_ and if you remove "say "step 1"' and 'say "step 2"' ???? 03:10
03:11 am0c joined, ethndbst joined
colomon trying... 03:11
Bus error, yup
shinobicl_ mmm sorry... "bus error"? what does that mean? 03:12
sorear segmentation fault and bus error are two possible errors from bad pointer use 03:13
there are others
the set of possible errors depends on CPU; when using a portable OS, some information is sometimes lost 03:14
colomon yeah, it's a form of a seg fault on a mac.
sorear Unix only has SIGBUS and SIGSEGV, so only two kinds of memory error can be reported
shinobicl_ i'm using a OpenVZ virtual machine... Debian i386
sorry.. i686 03:15
sorear Windows can report more kinds of errors since it was designed to work with the x86
general protection faults, unresolved page faults, stack faults, etc all map to SIGSEGV on Linux/i386 but are different error codes on Windows 03:16
I don'
colomon shinobicl_: looks like you've definitely got a legit nom bug
sorear I don't think Linux/i386 uses SIGBUS at all
Linux/ppc uses SIGBUS for unaligned memory access exceptions
shinobicl_ oh.. well, i'll keep those "say" too
also, i got another issue, on WorkdayCalendar.t 03:17
give a minute please
sorear traditionally, SIGSEGV comes from hardware memory protection, while SIGBUS is signalled by hardware faults
colomon shinobicl_: sure, though I'm trying to see if I can get more info on your seg fault first. ;)
sorear e.g. many old mc68k systems will signal the BERR# pin if you try to access a physical address which no device answers to 03:21
shinobicl_ no problem :) anyway, i think it might be the same issue.
sorear I conjecture that SIGSEGV and SIGBUS were introduced during the period of Unix history when it mostly ran on mc68k systems
colomon phenny: tell jnthn gist.github.com/1413232 summarizes how I duplicated shinobicl_'s seg fault, and the backtrace from the crash point. Let me know if there is anything else I can do to help track it down. 03:22
phenny colomon: I'll pass that on when jnthn is around.
colomon okay, second problem? :) 03:23
shinobicl_ int the test file.... commenting or uncommenting the lien with "diag "-----------------";" also seems to "change" the point where the test segfaults 03:24
colomon shinobicl_: I get the same error either way. 03:27
shinobicl_ mmmm 03:30
colomon anyway, hopefully the backtrace will be a good start for jnthn++ to figure out what is going wrong. 03:31
shinobicl_ look for "my $test_list ="
the followwin text uses single quotes
changing it to double quotes also changes the behavior
colomon got it
again the same. 03:32
shinobicl_ oh well... maybe it's an issue in my VPS
colomon Sure looks like some sort of memory error. Changing the code changes when it happens, that's all. 03:33
I ran into a couple of garbage collection errors yesterday.
I suspect nom is slightly less stable than we would really like it to be at the moment.
shinobicl_ thank you very much for your help, colomon
colomon you're welcome. thank you for stressing rakudo, it's a great way to help find where the compiler still needs work 03:34
shinobicl_ oh, no problem.. i'll stress it a lot, specially in the part of overloaded operators :) 03:35
colomon \o/
afk # bedtime
shinobicl_ ok, good night, and thanks again! 03:36
03:36 shinobicl_ left
[Coke] does t/spec/S03-operators/overflow.t require a bigint lib? 03:46
03:46 hundskatt joined 03:57 ethndbst left 04:30 serkfir joined 04:34 alester_ joined 04:41 envi_ joined 04:51 ethndbst joined, ethndbst left, ethndbst joined 04:56 hundskatt left 05:09 mkramer joined 05:18 sftp left 05:24 mkramer left, satyavvd left 05:29 mkramer1 joined 05:40 mkramer1 left 05:48 Eth4n joined 05:49 ethndbst left, Eth4n is now known as ethndbst 06:05 kaleem joined 06:12 thou left 06:18 satyavvd joined, alester_ left 06:24 satyavvd left 06:25 satyavvd joined
moritz [Coke]: erm, rakudo has a bigint lib, bundled with nqp :-) 06:34
dalek kudo/nom: 6006bc7 | moritz++ | src/core/IO/Socket/INET.pm:
fix get() in Socket::INET to chomp the right delimiter
06:35
06:39 hundskatt joined
Woodi moritz: if I use: get-recv-get sequence then second get see flushed socket. not checked Perl5 behaviour on that yet but it at least unconvenient... 06:46
*is... 06:47
moritz what does "see flushed socket" means?
Woodi eg: connect-port-80; $s.put("GET \ ...); $s.get; $s.recv(10); $s.get(); 06:49
second get blocks
moritz all requests block, we don't have non-blocking IO yet.
06:50 koban joined
Woodi but it shouldnt't 06:50
moritz what do you mean by "blocks"?
Woodi just recv read everything, and return 10 bytes as sked.
I have example somewhere, will post later 06:51
moritz Woodi: if you only want to read 10 bytes, use .read instead of .recv 06:52
Woodi hmm :) missed that command somehow .. 06:53
will test
moritz not sure if it's specced
07:14 zby_home left 07:16 serkfir left 07:50 ethndbst left 07:52 Trashlord left 07:54 Trashlord joined 07:57 fridim_ joined 07:59 satyavvd left
masak 挨拶, #perl6! 08:12
08:17 mikemol left
moritz \o masak 08:17
08:17 mikemol joined
masak goal for the day: blog about progress so far with macros. maybe prepare a blog post for later for perl6advent. 08:22
08:26 mj41 joined 09:01 arlinius left, hundskatt left 09:04 arlinius joined
moritz moritz.faui2k3.org/tmp/03-binary-io-buf.pod early draft of the advent post for day 3 09:06
it kinda misses a good end 09:07
09:08 woosley left
masak s/has been solved/has been addressed/ ;) 09:13
also, to my non-native ear "to and fro" indicates an osciallating motion, like weed in the wind. 09:14
"back and forth" is probably what you wanted.
moritz thanks
masak funnily enough, your server delivers that URL as latin-1 (I think), but I see from the mojikabke that it's really UTF-8. 09:16
moritz Content-Type: text/plain
no latin-1, that's your browser's interpretation :-) 09:17
masak could be.
yes, it said it had chosen latin-1. I set it to utf-8, and now I see the møþ :)
snarkyboojum also maybe /do not provide the same level of Unicode support yet as Perl 5 does/do not yet provide the same level of Unicode support as Perl 5/
masak hm, ss/byte values of which/byte values from which/ 09:18
moritz updates 09:19
masak++, snarkyboojum++
masak agree about the ending :) best of luck with it. 09:20
dalek kudo/nom: 7d35796 | moritz++ | src/Perl6/Actions.pm:
special-case 0e<big-exponent> to not perform the 10**<big-exponent> operation
09:22
kudo/nom: 8c70898 | moritz++ | lib/Test.pm:
[Test.pm] restore "bad death" in dies_ok, even though we seem to produce far fewer Null PMC Accesses these days
snarkyboojum moritz: you also don't need the "does" there before the comma, but good stuff - moritz++ :D 09:24
09:31 satyavvd joined
jnthn morning 09:34
phenny jnthn: 03:22Z <colomon> tell jnthn gist.github.com/1413232 summarizes how I duplicated shinobicl_'s seg fault, and the backtrace from the crash point. Let me know if there is anything else I can do to help track it down.
jnthn colomon: Thanks for the backtrace. This roaming segfault seems to be claiming a growing number of victims... 09:35
moritz seems to always happen in Rakudo_cont_decontainerize, but of course the real error might be much earlier 09:40
jnthn moritz: Yeah; we often decontainerize. 09:46
So could just be probability 09:48
But worth a closer look
phenny: ask [Coke] if #105018 was tested on Windows. If so, it's a bug with :args['--x'] option handling in the test utility thing, which I didn't manage to figure out yet... 09:51
phenny jnthn: I'll pass that on when [Coke] is around.
09:53 jrockway left 09:54 jrockway joined
mls morning perl6 09:56
I saw the same segfault when fixing the recursion bug, it seems to be a GC issue
09:56 plutoid left
mls i.e. some write barrier is missing 09:56
sorear sleep 09:57
moritz \o mls
mls it crashed because STABLE(var)->container_spec was 1 09:58
(and 1 is not a good pointer ;) ) 09:59
(Actually I had a "find_in_cache" in the backtrace which is missing in moritz' gist. I suspect it was inlined.) 10:01
10:01 dakkar joined
Timbus
.oO( Image of a giant foam hand with '#1' on it )
10:01
Woodi found lastly OOP critiques that method call (message sending in Smalltalk) is synchronous. and realy they are in current OO languages... Actor model look seems to be proposition to make comunication asynchronous... FlowBasedProgramming is nice technology from 1970s :) and Comega from MS uses chords for concurency - sets of async and sync method calls: research.microsoft.com/en-us/um/cam...whatis.htm 10:04
10:04 arlinius left
Woodi and about Flow Based Programming vs OO: www.jpaulmorrison.com/fbp/oops.shtml 10:04
now I kind a understand TimToady silence on concurency topics :) 10:05
10:07 arlinius joined 10:10 kfo_ left, kfo joined 10:15 serkfir joined
mls I wonder how pc_positionals[i].type == BIND_VAL_OBJ can be true, isn't BIND_VAL_OBJ supposed to be only used in type Rakudo_BindVal and not in Pcc_cell? 10:16
10:17 serkfir left
mls or is that a workaround for a not defined "PMCCELL" (which happens to have the same value)? 10:18
10:20 koban left 10:21 koban joined
mls (and shouldn't it only call decontainerize if it is a smo?) 10:21
10:22 koban left
jnthn mls: The BIND_VAL_OBJ and friends exactly match the flags used by .type 10:22
mls: Which decontainerize are you looking at? I suspect the answer is "we either coerced to a smo or died by this point" 10:23
mls the one in find_in_cache
called from Rakudo_md_dispatch 10:24
jnthn ...context?
oh
mls: Hm, good point.
If a non-smo is getting in there, it won't be good. 10:25
.oO( The answer to "is 6model stable enough for Parrot yet" is probably "please just do it yesterday!" :) )
10:26
mls: Looks like a fix is needed there, anyway. 10:27
10:27 daxim joined 10:40 kfo left 10:46 kfo joined
moritz jnthn: I still can't stub X::BufAsStr in the setting :( 10:50
and package X { } is gone
nom: my class A::B { ... }; my class A::C { }; my role A::D { }; my class A::B { } 10:51
p6eval nom 8c7089: OUTPUT«===SORRY!===␤The following packages were stubbed but not defined:␤ A::B␤␤»
moritz nom: my class A::B { ... }; my class A::C { }; my class A::B { } 10:52
p6eval nom 8c7089: OUTPUT«===SORRY!===␤The following packages were stubbed but not defined:␤ A::B␤␤»
masak nom: my class A::B { ... }; my class A::B {}
p6eval nom 8c7089: OUTPUT«===SORRY!===␤The following packages were stubbed but not defined:␤ A::B␤␤»
masak nom: my class A { ... }; my class A {}
p6eval nom 8c7089: ( no output )
jnthn nom: class A::B { ... }; class A::B {}
p6eval nom 8c7089: ( no output )
masak so, necessary components: 'my', and '::' 10:53
moritz I should update the ticket
jnthn moritz: In Grammar.pm, inside package_def 10:54
if $*ST.already_declared($*SCOPE, $*OUTERPACKAGE, $outer, @name) {
Worth knowing if that's returning false in this case
masak jnthn: will we at some point see a rename of $*ST to something like $*W ? 10:56
jnthn moritz: try this totally untested patch: gist.github.com/1415817 10:57
masak: Yes.
masak: There's no reason for it not to have already happened other than it's an internal detail and there's many external details that people finding more interesting. :)
masak \o/ 10:58
moritz don't change it, I'll keep writing $*ST for ages :-) 10:59
jnthn: trying... 11:01
11:10 lutok joined
moritz jnthn: the patch seems to be working 11:18
jnthn nice :)
moritz I'm going to make concatenation of buffer to a string die
masak good. 11:19
moritz it's been one of my least favorite non-errors in p5 for quite some time
nom: say ~Buf.new()
p6eval nom 8c7089: OUTPUT«Buf<-483643341133299054>␤»
moritz I found this not very useful
jnthn Yes, there's no good way to DWIM in that case, so refusal is better.
moritz nom: say Buf.new() ~ ' foo'
p6eval nom 8c7089: OUTPUT«Buf<-7689102089863646801> foo␤»
moritz that's the current behavior, and not useful at all 11:20
jnthn heh
11:20 xinming_ joined
jnthn yeah, should just not work 11:20
masak why are those arbitrary object IDs so long nowadays? they used to be about half as long.
moritz seems they aren't hex anymore
11:21 kaleem left
moritz $ ./perl6 -e 'try { ~Buf.new }; say $!.WHAT' 11:22
X::Buf::AsStr()
\o/
jnthn nice! :) 11:23
11:23 xinming left
moritz now I just need to spectest 11:24
jnthn Yeah, hope the patch holds up well in the spectests. 11:25
Worth adding a spectest for the issue too.
moritz aye
11:41 satyavvd left 11:55 plutoid joined
bbkr I have a question about warn(). Spec says that it "Throws a resumable warning exception, which is considered a control exception, and hence is invisible to most normal exception handlers.". Does that mean eval_lives_ok should pass on warn or not? 12:04
flussence I think that means CATCH won't catch it, so if eval_lives_ok only uses that then it'll pass it on 12:05
jnthn nom: { warn "blah"; CATCH { say "I caught something!" } } 12:06
p6eval nom 8c7089: OUTPUT«blah␤»
jnthn nom: { warn "blah"; CONTROL { say "I caught something!" } }
p6eval nom 8c7089: OUTPUT«I caught something!␤blah␤»
bbkr thanks, tagging #77648 as testneeded 12:10
flussence (also I'd like to point out Niecza's Test module has subs to trap any combination of die()/warn()/fail() :) 12:12
12:13 Psyche^ joined 12:16 Patterner left, Psyche^ is now known as Patterner 12:24 lutok left 12:33 wk joined 12:36 tzhs joined
moritz we reallly need better exception catching tests, but I found niecza's approach a bit verbose 12:39
we should also consider typed exceptions
dalek kudo/nom: 17a2356 | moritz++ | src/ (3 files):
throw typed exceptions when Buf is misused as a string

Contains a patch by jnthn++ that fixes RT #104760
12:40
masak ooh! I just know of another thing to advent blog about :) 12:44
masak adds it to the list 12:45
dalek : c9e8134 | (Carl Mäsak)++ | misc/perl6advent-2011/topic-brainstorming:
added two new potential topics
12:46
ast: c3f2a9e | moritz++ | S32-io/IO-Socket-INET.t:
unfudge passing tests for rakudo
12:51
ast: f7eced4 | moritz++ | S10-packages/joined-namespaces.t:
RT #104760, stubbing of joined namespaces
moritz nom: try { Buf.new().Str }; say $!.WHAT 13:06
p6eval nom 8c7089: OUTPUT«Mu()␤»
moritz hrmpf 13:07
evalbot rebuild nom 13:09
p6eval OK (started asynchronously)
moritz turned out we still rebuilt rakudo twice an hour, and nom once per hour 13:14
jnthn oh :) 13:16
masak old habits and cronjobs die hard :) 13:19
moritz jnthn: I'm at the point now where I'd like to start throwing typed exceptions from the Actions.pm 13:20
or maybe catch them in &eval, and re-throw as typed
what do you think would be the best approach? 13:21
I could do something like 13:22
13:22 am0c left
moritz $*ST.find_symbol(['X', 'SomeException']).new(...) and handle the case when it can't be found somehow 13:22
13:24 jaldhar left
jnthn moritz: That probably works, modulo when we're compiling the setting :) 13:32
moritz jnthn: yes, I need to be a bit careful not to produce too sucky errors in that case :-) 13:34
jnthn moritz: Dunno if it's possible to factor it out in some way.
moritz jnthn: it probably is
jnthn moritz: And then handle the "not found" case with an immediate panic or some such. 13:35
Note that find_symbol throws if it cannot find what you ask it for
moritz I think for Actions.pm we need a wrapper that calls find_symbol, and throws a still helpful error message if find_symbol fails 13:36
masak sounds reasonable.
jnthn try_or_be_sorry { ... } # :-) 13:37
13:37 leprevost joined
moritz jnthn: in the case of $/.CURSOR.panic(...), where is the line number taken from? 13:38
jnthn moritz: CURSOR has a position and the original text
moritz: I think HLL::Compiler.lineof is passed those 13:39
moritz: And it computes the line number based on that
moritz nom: CATCH {}; CATCH {}
p6eval nom 17a235: OUTPUT«===SORRY!===␤only one CATCH block allowed at line 1, near ""␤»
jnthn fwiw, the "near" may want to look at the cursor's from rather than it's pos...maybe. 13:40
*its
moritz we also need a way to access the file name that is currently being compiled
jnthn should already be available
moritz current compile-time errors are missing that
jnthn see Actions.pm
in TOP or comp_unit
It sets a .file annotations 13:41
moritz ah, right
my $file := pir::find_call_lex__ps('$?FILES')
13:45 mkramer joined
moritz nqp: my $a := try { 1 + 1 }; say($a) 13:49
p6eval nqp: OUTPUT«Can't exec "./nqp": No such file or directory at lib/EvalbotExecuter.pm line 192.␤exec (./nqp /tmp/ny337SVQJV) failed: No such file or directory␤»
moritz eh?
13:50 bluescreen10 joined
[Coke] moritz: (bundled) ok. wasn't sure if it required extra configurating. I get test failures in that file. 13:52
phenny [Coke]: 09:51Z <jnthn> ask [Coke] if #105018 was tested on Windows. If so, it's a bug with :args['--x'] option handling in the test utility thing, which I didn't manage to figure out yet...
[Coke] (t/spec/S03-operators/overflow.t, since this was from last night.) 13:53
moritz [Coke]: could you please nopaste the test output?
[Coke] jnthn: 105018 was on linux.
moritz: momentito. 13:54
moritz: feather.perl6.nl/~coke/overflow.out 13:56
fails 28/97
moritz [Coke]: thanks. Curious 13:57
[Coke] this with a vanilla build on feather.
moritz two possibilities
either another bigint error
[Coke] phenny: tell jnthn 105018 was on linux (vanilla build on feather)
phenny [Coke]: I'll pass that on when jnthn is around.
moritz or the usage of an int, where a bigint should have been used
[Coke] moritz: and I assume you're not seeing those errors? 13:58
moritz [Coke]: correct
[Coke] k. let me know if I should open a ticket.
I can let you poke around in my rakudo build on feather for a bit, if that helps. 13:59
moritz [Coke]: oh, I know what's going on 14:00
[Coke] moritz: yeeees?
moritz the problem is that literals are polymorphic, and can be Int or int
at least if the literal fits into an int
[Coke] so on feather its fitting into an int and then not changing? 14:01
moritz but that means that <mid-sized-int> * <mid-sized-int> choses the native type int infix:<*>
[Coke] *it's
moritz [Coke]: yes, but the result doesn't fit into an int 14:02
and we don't detect overflow or so
[Coke] seems like we need to be able to say "this is an int because I said so!" and "this is an int because... meh"
(or just always overflow?)
moritz [Coke]: right, we need to be more explicit about int vs. Int 14:03
and that's mostly a spec issue, IMHO
[Coke] you want to open a ticket in the right spot then? ;) 14:04
14:04 mkramer left
moritz [Coke]: that would be appreciated, yes :-) 14:05
[Coke] no, I mean, do *you* ?;)
moritz erm
moritz can't read
yes, I should
14:07 mkramer joined 14:08 benabik left
masak same situation could happen with infix:<+>, or infix:<-> 14:08
moritz yes
[Coke] we require a new parrot since yesterday? 14:09
moritz yes
(for socket stuff)
14:16 mtk joined
moritz summary at github.com/perl6/specs/issues/8 14:17
(of the spec issue of int/Int literals) 14:18
14:19 wolfman2000 left
[Coke] added a pointer to the spec test failures. 14:21
nom: say 0xDEADBEEF + 0xFACE / 65536.0; 14:24
p6eval nom 17a235: OUTPUT«3735928559.97971␤»
[Coke] nom: say :16<dead_beef.face>
p6eval nom 17a235: OUTPUT«3735928559.97971␤»
[Coke] nom: say ":16<dead_beef.face> 14:25
p6eval nom 17a235: OUTPUT«===SORRY!===␤Confused at line 1, near "say \":16<d"␤»
[Coke] nom: say ":16<dead_beef.face>"
p6eval nom 17a235: OUTPUT«:16<dead_beef.face>␤»
[Coke] nom: say +":16<dead_beef.face>"
p6eval nom 17a235: OUTPUT«Failure.new()␤»
moritz try without the quotes
oh, you did already :-)
[Coke] that's a regression in the same overflow.t file
moritz I think japhb++ will fix this one
[Coke] see S03-operators/overflow.t:260 14:26
14:26 overrosy left
[Coke] nom: say +"3" 14:26
p6eval nom 17a235: OUTPUT«3␤»
jnthn moritz: (Int vs int) yes, there's certainly some issues there. 14:27
phenny jnthn: 13:57Z <[Coke]> tell jnthn 105018 was on linux (vanilla build on feather)
14:28 overrosy joined
jnthn [Coke]: OK, then it's genuine issue then :) 14:28
14:29 mkramer left, mkramer joined 14:30 mkramer left 14:31 mkramer joined
[Coke] nom: say +":16<dead_beef>" 14:35
p6eval nom 17a235: OUTPUT«3735928559␤»
14:36 sftp joined 14:40 overrosy left 14:41 mkramer left 14:42 mkramer joined, overrosy joined
[Coke] 280 more "nom regression" instances to go. ;) 14:45
jnthn guesses they boil down to a smaller number of underlying issues 14:46
14:46 Maddingue joined
[Coke] we'll find out if we start getting TODOs when you fix the tickets. ;) 14:47
er, TODO passings.
14:47 ribasushi left 14:48 ribasushi joined 14:52 mkramer left, mkramer joined
[Coke] see lue? 14:52
aloha, seen lue?
aloha [Coke]: lue was last seen in #perl6 8 days 13 hours ago saying "right now, I don't think so.".
[Coke] phenny: ask lue what he meant by the comment at the top of S32-list/minmax.t 14:53
phenny [Coke]: I'll pass that on when lue is around.
[Coke] nom: say (-10..10).min: { abs $^a <=> abs $^b } 14:55
p6eval nom 17a235: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤ in method min at src/gen/CORE.setting:1232␤ in block <anon> at /tmp/FOX6arzPat:1␤ in <anon> at /tmp/FOX6arzPat:1␤»
[Coke] nom: say (1,4,-2).min: { abs $^a <=> abs $^b } 14:56
p6eval nom 17a235: OUTPUT«1␤»
14:57 overrosy left 14:58 overrosy joined
masak [Coke]: I think I know what he means. 14:59
[Coke]: he expects <5 -3 7 0 1 -9> to produce a list of Int, not a list of Str. 15:00
or at least objects that compare like Ints, not like Strs.
colomon That's right by the spec, isn't it? Some sort of hybrid Int/Str is supposed to be produced, as I recall. 15:01
15:01 mkramer left
masak the spec says this should be so: objects of an anonymous subtype of Str with Intish behaviour should be produced. personally, I still feel uneasy about that kind of type hybrids. 15:01
15:01 mkramer joined
masak but... it's spec. 15:01
so that's what lue is referring to.
he was probably bitten by the numbers sortign stringishly. 15:02
colomon +1 to uneasy
masak people ran into this in szabgab++'s class in Oslo 2009 when they read integers from input and did .sort on them. same thing.
itz where was the perl6 advent calender? 15:03
[Coke] I don't think we should be relying on that in a file that tests other things.
jnthn Me either
[Coke] I think that's a separate test.
jnthn also, we make it easy to say how you want to sort
$foo.sort: *.Numeric
[Coke] nom: (0, NaN).min
p6eval nom 17a235: ( no output )
[Coke] nom: say (0, NaN).min
p6eval nom 17a235: OUTPUT«0␤» 15:04
colomon itz: perl6advent.wordpress.com/
itz ty
jnthn ooh, is it my turn tomorrow? :) 15:05
moritz jnthn: yes :-)
jnthn \o/
[Coke] lue expects NaN to be min'er than 0. I would expect... a Failure? 15:06
Hurm. I guess NaN is pretty much numeric failure.
(hey, why don't we respec NaN to just be Failure in a numeric context?) 15:07
moritz that's kinda the idea
15:07 mkramer left
[Coke] nom: say 3+NaN 15:07
p6eval nom 17a235: OUTPUT«NaN␤»
15:07 mkramer joined
[Coke] niecza: say (0, NaN).min 15:08
p6eval niecza v12-2-geb42dfa: OUTPUT«Unhandled exception: Unable to resolve method min in class Parcel␤ at /tmp/FSiaxuWLtF line 1 (mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2224 (ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2225 (module-CORE @ 58) ␤ at /home/…
[Coke] perl6: say min(0,NaN)
p6eval niecza v12-2-geb42dfa: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'min' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 880 (die @ 2) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1139 (P6.comp_unit @ 32) ␤ at /home/p…
..pugs b927740: OUTPUT«NaN␤»
..rakudo 17a235: OUTPUT«0␤»
dalek ast: 13261a2 | coke++ | S (2 files):
Convert to tickets for Rakudo
15:11
moritz colomon++ # advent post 15:12
colomon [Coke]: yes, it's not that NaN is "min'er", it's that NaN propagates through math operations.
15:12 overrosy left 15:13 wolfman2000 joined
colomon niecza: say 4 min 5 15:13
p6eval niecza v12-2-geb42dfa: OUTPUT«4␤»
colomon niecza: say 4 min NaN 15:14
p6eval niecza v12-2-geb42dfa: OUTPUT«4␤»
15:14 overrosy joined
masak [Coke]: NaN is already spec'd/behaving as a kind of failure in numeric context, that propagates outwards in numeric calculations. 15:15
moritz perl6: say NaN min -Inf 15:16
p6eval niecza v12-2-geb42dfa: OUTPUT«NaN␤»
..rakudo 17a235: OUTPUT«-Inf␤»
..pugs b927740: OUTPUT«*** ␤ Unexpected "min"␤ expecting "=", operator, ":" or ","␤ at /tmp/GDq2WrMbsX line 1, column 9␤»
15:16 wolfman2000 left 15:17 wolfman2000 joined, mkramer left
tadzik hello #perl6 15:18
15:18 mkramer joined
jnthn o/ tadzik 15:18
moritz \o tadzik
colomon o/ 15:19
PerlJam What does Niecza have that Rakudo doesn't? I seem to recall you could easily interface with graphics libs and such through CLR
15:19 wolfman2000 left
tadzik 2-star programmer is the one who can handle pointers to pointers. I wonder how many stars do you need to handle pointers to function pointers :) 15:19
(syntactically)
PerlJam hasn't played with Niecza enough
colomon PerlJam: also FatRats.
moritz tadzik: can I motivate you to write O(2) posts for the advent calendar?
PerlJam: LTM outside of proto regexes
jnthn tadzik: Just two stars, I guess :)
colomon better error messages
moritz PerlJam: perl6.org/compilers/features answers that question nicely too 15:20
15:20 wolfman2000 joined
tadzik moritz: naturally, but I can't allocate almost any time during the upcoming week or such 15:20
I can write something about Pod
jnthn Is there anything blocking FatRat in Rakudo other than tuits to do it?
tadzik jnthn: ah, the challenge :)
colomon jnthn: not that I know of 15:21
moritz rakudo has fat rats, but they are just called 'Rat' atm :-)
PerlJam moritz: that's a little lower level than I was thinking.
jnthn tadzik: If you want to practice pointer skills, hack on NCI :)
tadzik warning: incompatible pointer types passing 'void (**)(void *)' to parameter of type 'void *(*)(void *)'
colomon jnthn: I saw there was a rational branch, which I assumed was someone working on it already?
tadzik I even tried shotgun coding and even that didn't help :P
jnthn colomon: Sounds like a rational guess.
moritz yes, that was me
but I didn't get far
PerlJam I was going to write a topic idea for the advent calendar to the tune of "stuff Niecza has that Rakudo doesn't" but the idea is to showcase the other things Perl 6 can do that aren't so ... languagey
moritz compilation hangs, and I don't know why 15:22
15:22 mkramer left
colomon moritz: were you actually tackling the Rational role? 15:22
moritz colomon: yes, I tried to implement FatRat as Rational[Int, Int]
and Rat as [Int, UInt128] or so
colomon right 15:23
15:23 mkramer joined
[Coke] PerlJam: seems like that'd be a great post for sorear. 15:23
PerlJam [Coke]: indeed.
colomon I was hoping mberends might do a Tetris in niecza Advent post... 15:24
moritz phenny: ask mberends if he wants to d a p6advent post on Tetris in niecza
phenny moritz: I'll pass that on when mberends is around.
15:25 mkramer left, mkramer joined 15:27 takadonet joined 15:28 takadonet left 15:29 wolfman2000 left 15:30 wolfman2000 joined 15:33 mkramer left 15:35 mkramer joined, mkramer left
dalek kudo/ex-from-actions: d62f8f2 | moritz++ | src/Perl6/Actions.pm:
prepare a small helper for throwing an exception from Actions.pm
15:35
kudo/ex-from-actions: f961892 | moritz++ | src/ (2 files):
try to throw the first typed exception from Actions.pm; fails setting compilation
moritz jnthn: this patch makes the compilation fails with 15:36
None of the parametric role variants for 'X::Comp' matched the arguments supplied.
maximum recursion depth exceeded
which is curious, since X::Comp is not parametric 15:37
jnthn er
Well, every role is parametric 15:38
But what it really means is something else went wrong during role compositon.
maximum recursion depth exceeded is bad news.
dalek : 846e321 | duff++ | misc/perl6advent-2011/topic-brainstorming:
Add some more p6advent ideas
15:39
moritz it's really just my role X::Comp { some attributes }; my class X::Signature::Placeholder is X::Base does X::Comp { a method here }
15:39 JimmyZ joined 15:40 mkramer joined
jnthn moritz: It'll be some evil, hard to find bootstrap issue, I'm sure. 15:40
moritz :(
jnthn moritz: And it seems nobody is up for hunting those down besides me.
moritz jnthn: seems like :( 15:41
jnthn: but I kinda thought that role composition in the setting worked
15:41 takadonet joined
jnthn moritz: it kinda does. :) 15:41
15:41 takadonet left
jnthn moritz: Emphasis on "kinda" 15:41
If you want to golf down exactly what it is that causes it to fail, that'd help 15:42
moritz: That is, is it the attributes?
moritz jnthn: is there anything in particular that I should avoid?
15:42 tokuhirom joined, plobsing left
moritz ah, that might be it 15:42
jnthn moritz: I'm not sure what it is that's at the bottom of the issue
moritz which would also explain why Rational loops 15:43
jnthn moritz: I dobut it's purely attribute related.
moritz: It *may* be tied up with public attributes in roles in the setting, at a wild guess.
(but if it is, I'm not sure why off hand)
moritz accessors are generated in Attribute.pm
15:44 plobsing joined
jnthn Yes 15:44
But we must use accessors elsewhere in the setting.
moritz yes, but not in roles, I assume 15:45
jnthn Maybe not
If that's the bug, it'd kinda prevent us doing so ;)
moritz oh! 15:46
I accidentally duplicated role X::Comp
so it might be an ambiguous dispatch that's wrongly reported
sorear good * #perl6
moritz \o sorear 15:47
colomon o/
jnthn o/ sorear
moritz: oh!
moritz nom: role A { }; role A { }; class B does A { }
p6eval nom 17a235: OUTPUT«===SORRY!===␤None of the parametric role variants for 'A' matched the arguments supplied.␤Ambiguous dispatch to multi '_block1382'. Ambiguous candidates had signatures:␤:(Mu)␤:(Mu)␤␤»
moritz ah, maybe it loops while generating the 'Ambiguous candidates' message 15:48
jnthn oh!
that's very possible.
15:49 tokuhirom left, mkramer left 15:50 mkramer joined, tokuhirom joined 15:54 tokuhirom left 15:57 JimmyZ left 15:58 Trashlord left 16:03 tzhs left 16:04 JimmyZ joined
moritz nqp: say(1) 16:06
p6eval nqp: OUTPUT«Can't exec "./nqp": No such file or directory at lib/EvalbotExecuter.pm line 192.␤exec (./nqp /tmp/me8eoIjIdw) failed: No such file or directory␤»
16:08 wolfman2000 left
moritz oh, dyncall version switch broke nqp build 16:08
moritz tries after git clean -xdf
16:10 mkramer left 16:11 mkramer joined 16:13 mkramer left 16:14 mkramer joined, Trashlord joined 16:18 UncleFester6 joined 16:25 mkramer left 16:27 mkramer joined
TimToady moritz: github.com/perl6/specs/issues/8 is already largely covered by S02:705 and S09:106 16:33
constant folds are just one form of "temporary value"
jnthn TimToady: It's maybe more problematic in the case of 16:35
multi m(Int) { }
multi m(int) { }
m(0x7FFFFFFF) 16:36
well, provided the multis do something :)
Maybe that's DIHWI... though :)
masak no, it seems like a fairly fundamental question.
TimToady the default should not be to recreate the bugs of C
masak .oO( doctor, it hurts when I C ) 16:37
jnthn Which particular bug is this a case of? :)
TimToady so by default, native types are only storage constraints, and intermediate values mustn't lose info
if that means infix:<+>(int,int) must return Int, so be it 16:38
masak ok, that's an easy enough rule.
jnthn er, what?
So
TimToady we aren't trying to reproduce C's bugs
masak I think it has to return Int. 16:39
TimToady the default is to do it right
a pragma can turn on C's bugs if we want speed
jnthn loop (int $i = 1; $i < blah; $i = $i + 1) { ... }
masak but then wouldn't the user need to cast explicitly a lot?
probably what jnthn++ is getting to above... :)
jnthn You're saying that instead of that being allocation-free, it's going to have to make a laod of Int objects just in case?
*load
TimToady that's probably the correct default for code that has not been proven "hot" 16:40
jnthn I agree if you never mention a native type constraint in your code, you probably should never expect native ints.
But once you do...it's clear enough that you're opting in, no? 16:41
16:41 snearch joined
TimToady the initial opt-in is for storage, not bugs 16:41
jnthn er, apart from in the case above you're never going to be able to store the result without overflowing anyway... 16:42
0x7FFFFFFF * 0x7FFFFFFF overflowing is clearly wrong. That's certainly a bug.
TimToady well, we can probably optimize your loop if we know the limit
jnthn This is ridiculous. :/ 16:43
jnthn goes back to his $dayjob bits
masak increments the "halting problem implicit mention" counter
TimToady this has been specced for a long time 16:44
and when people say "correctness first", everyone nods their heads
it seems to have suddenly gone out of style :)
masak I'm all for it. :) 16:45
but I'd like to not throw out the performance with the buggy bathwater, too.
s/performance/performance baby/
16:45 mj41 left
TimToady profile, then cheat 16:45
masak nodnod 16:46
jnthn I'd assumed that writing native type annotations was the way you said to the compiler "feel free to cheat here"
16:47 kaare_ joined
jnthn I'm not arguing that it should cheat without being given that hint. 16:47
TimToady it can be, in some context that probably should not be the default
jnthn I do think that if I carefully wrote native types on all my variables, then the operators I use on them should not be going creating Int objects in the meantime.
TimToady that's getting into type inference, I think 16:48
which is perhaps the mechanism by which we optimize that loop
but it does indicate we need to think about native/non-native return polymorphism as something that is known at compile time 16:50
jnthn Well, much of the native stuff hangs off "known at compile time"
But I really don't like the idea that (int, int) --> Int 16:51
I'd expect *either* to be doing (Int, Int) --> Int, or (int, int) --> int
masak 'my Int $a = 42; my int $b = $a' # does this typecheck at compile-time?
'my Int $a = 10 ** 10; my int $b = $a' # does this fail at runtime?
jnthn masak: unboxing to native types currently never fails.
masak: Provided the type on the RHS knows how. 16:52
masak ok, good.
TimToady that also is not according to spec
jnthn TimToady: Which bit?
TimToady not checking for overflow on storage to a native type
masak I don't follow. 16:53
either we don't check, or we can't do jnthn's native for loop above.
16:54 daxim left
TimToady if we know the limit of the loop is smaller than maxint, then we've done our check outside the loop 16:55
16:56 JimmyZ left
jnthn If we're going to make it this hard for the compiler to do anything efficient with native types, they're probably a waste of time. 16:56
TimToady there are way too many security holes on the internet that arise from C's cavalier attitude toward overflow
masak right, but the '$i = $i + 1' part tries to store an Int in an int.
TimToady which is why the compiler would need to know how to substitute --> int for --> Int if we do the optimization, my reference to "return polymorphism" above 16:58
16:59 benabik joined
TimToady I have no trouble with a pragma that says "use temp :native", but I just don't think it should be the default 16:59
it's possible that my argument has less weight in the 64-bit world than the 32-bit world, but I don't know what percentage of integer overflow attacks depend on the size of the integer 17:02
moritz TimToady: S09:106 sounds rather disturbing to me, from the POV of optimizations
TimToady my gut feel is that most of such attacks don't care that much about 32 vs 64
moritz it means that things like my int $x = ...; $x + $x + $x cannot use 'int' semantics ever 17:03
jnthn TimToady: It just feels like you want another level of configurability, when Int vs int already gave us one.
moritz becaue the intermediate result from the first addition might not fit into an int
jnthn moritz: Exactly.
moritz so, no native operations even with native types. Ugh.
TimToady I never said that
moritz no, the spec says that
TimToady BY DEFAULT 17:04
"in the absence of declarations or explicit casts to the contrary"
masak decommutes
TimToady I include "use native" in declarations
I wouldn't push this quite so hard if it weren't a security issue 17:05
17:05 MayDaniel joined
TimToady I love speed too... 17:05
I'd be okay with detecting overflow consistently too; it's silent overflow that is the problem 17:07
maybe it's "no strict :overflow" that we're looking for 17:09
17:13 fsergot joined
fsergot hi perl6! o/ 17:13
TimToady howdy
tadzik hello fsergot 17:17
17:18 hundskatt joined
moritz hi fsergot. Do you want to write a post for the perl 6 advent calendar? 17:30
17:31 wolfman2000 joined
Woodi "Native types are primarily intended for declaring compact array storage", can it be just 'compact' and 'native' predeclaration statements ? having Int and int look ugly at least... and all optimizations can be done or not by optimizer 17:41
PerlJam moritz: is that going t be the greeting for everybody until we've filled them all? :)
17:44 wooden left
Woodi two day ago readed review of "Nature of order" by Christoph Alexander and hi sugests that what is beauty that is usulay more functional too. all that flowers beauty is efect of evolution technical specialization 17:44
17:45 kaleem joined
PerlJam scrolls back to read the int/Int discussion 17:46
17:47 wooden joined 17:49 wk left
Woodi and me thinks that Perl should alway be "higher level" by having at least "membrane" or vm betwen implemented-in language and Perl level code. optimizations can be done by using NCI modules/functions 17:49
17:51 kaleem left 17:54 UncleFester6 left
Woodi and (last one :) ) me thing that should be perl6 interpreter written in C becouse programming in private intermediate language will/can be more stopper in A.D. 2025 then just plain hacking terribly C code. that happend to Perl5 and becouse it is C ppls still can hack it with one level less of cognitive troubles... and after all C is portable assembler for speed and portability :) 17:56
17:56 nornagest joined
Woodi out for few mins 17:57
17:57 ethndbst joined
PerlJam Woodi: Are you claiming that hacking Perl 5 is *easy* compared with having a VM? 17:57
18:01 llabthgie left
moritz PerlJam: yes, I'm trying very hard to fill the slots 18:05
and to attract fresh contributors, of course
18:05 donri joined
PerlJam moritz: sounds like a good advent article ;) 18:06
18:14 leprevost left 18:24 bluescreen10 left, bluescreen10 joined
masak PerlJam: what, an advent article about filling the slots? sounds like a last-ditch filler article to me :P 18:27
PerlJam no, about attracting fresh contributors ... something that would get people fired up 18:28
moritz PerlJam: I tried that (with some success) with the challenges... but it was a lot of work 18:34
18:39 mkramer1 joined, mkramer left
dalek kudo/ex-from-actions: dbee3a0 | moritz++ | src/ (2 files):
file name and line need to be Perl 6 values
18:45
jnthn moritz: Did removing the dupe fix the issue from earlier? 18:46
moritz jnthn: yes, thanks 18:49
jnthn moritz: OK, good to know. :)
(sorry if it shoulda been obvious and I missed it...been taking care of $dayjob things :)) 18:50
moritz should have noticed too :-)
now
> eval q[sub f() { $^x }]; say $!.WHAT
(empty line, that is)
18:51 MayDaniel left
jnthn eek 18:51
moritz even nqp::say(pir::typeof__SP($!)) produces an empty line
jnthn o.O 18:52
moritz erm
the eval probably dies
and the REPL catches it 18:53
producing an empty line
jnthn oh :)
moritz and the say() is never executed :-)
jnthn ah yes, because eval doesn't catch exceptions :)
jnthn is still getting used to that
dalek : 45f5498 | duff++ | misc/perl6advent-2011/ (2 files):
claim a day
moritz $ > try { eval q[sub f() { $^x }] }; say $!.WHAT
X::Signature::Placeholder()
\o/
jnthn nice :) 18:54
moritz just... the message is gone :( 18:57
19:01 mkramer1 left 19:02 mkramer joined 19:08 ethndbst left
dalek kudo/nom: 46f72c8 | duff++ | src/Perl6/Grammar.pm:
fix typo in error msg
19:10
diakopter flip flip indeed 19:12
19:12 mkramer left, diakopter sets mode: -o diakopter 19:13 mkramer joined 19:16 birdwindupbird joined, birdwindupbird left 19:17 wolfman2000 left
masak perl6: say flip flip "flip" 19:20
p6eval pugs b927740: OUTPUT«*** No such subroutine: "&flip"␤ at /tmp/CciSIePpla line 1, column 5 - line 2, column 1␤» 19:21
..rakudo 17a235, niecza v12-2-geb42dfa: OUTPUT«flip␤»
19:22 wk joined 19:23 snearch left 19:25 MayDaniel joined 19:37 MayDaniel left 19:38 ethndbst joined 19:45 zby_home_ joined 20:09 wk left 20:10 arlinius left 20:14 arlinius joined
moritz nom: say 1.^isa(X::Comp) 20:15
p6eval nom 46f72c: OUTPUT«0␤»
moritz nom: say 1.^does(X::Comp)
p6eval nom 46f72c: OUTPUT«Bool::False␤»
20:17 wk joined 20:27 mkramer left 20:28 alvis left 20:29 molaf joined 20:34 mkramer joined 20:36 localhost left, fsergot left 20:37 localhost joined
moritz hrmpf 20:38
I seem to have completely broken error reporting completely in my branch :/ 20:39
Tene moritz: as long as there are no errors, that's okay! 20:43
20:51 mkramer left, mkramer joined 20:54 mkramer1 joined 20:55 mkramer left 20:58 mkramer joined 20:59 fsergot joined 21:00 mkramer1 left 21:06 mkramer left, mkramer joined 21:12 Trashlord left, Trashlord joined 21:13 mkramer left 21:14 mkramer joined
jnthn 11 files changed, 176 insertions(+), 826 deletions(-) 21:15
...I like those commits.
[Coke] \o/
colomon \o/ 21:17
21:18 hundskatt left 21:21 molaf left 21:23 hundskatt joined 21:26 mkramer left, mkramer joined
benabik jnthn: Don't delete that! It's important! (Or maybe not..) 21:28
21:30 mkramer left 21:31 mkramer1 joined
jnthn benabik: Same functionality, just better factoring. :) 21:32
21:33 mkramer1 left
[Coke] NO, REFACTORS ARE BAD, KITTY! 21:33
21:33 mkramer joined
jnthn oh, calm down, it's not like I did a rewrite :P 21:34
diakopter what did you not rewrite 21:35
jnthn 6model :)
21:36 Leo left 21:38 mj41 joined
Tene it's not deleted; it's still in git history. ;) 21:40
[Coke] so if we ever want to move our tickets to github, I hear alester does good work. ;)
alester DAMN YOU COLEDA
benabik :-D
You'll have to move all your tickets from RT to trac first. ;-) 21:41
tadzik oh joy :) 21:42
21:42 packetknife joined
[Coke] HA! 21:42
that was my gig for parrot. ain't doing that again.
(of course I did it by hand because I'm an idiot.) 21:43
tadzik Showing 11 changed files with 96 additions and 746 deletions
wtf, where did you put that! :D
dalek p: 139fb76 | jnthn++ | src/6model/sixmodelobject.h:
Split attribute and boxed parts of the REPR function table out into sub-tables. Breaks everything, of course.
p: 851deb3 | jnthn++ | src/6model/reprs/ (11 files):
Initial attempt to update representations for the sub-table change. Many bits of copy-paste boilerplate go away.
p: 092915a | jnthn++ | src/6model/repr_registry.c:
Update representation registry to put default not implemented stubs in the sub-tables if they're not initialized.
p: b93593f | jnthn++ | src/pmc/sixmodelobject.pmc:
Update 6model wrapper PMC for REPR changes.
p: c098088 | jnthn++ | src/6model/reprs/ (3 files):
Couple of fixes to things that weren't quite right in the REPR updates.
p: af15c58 | jnthn++ | src/6model/knowhow_bootstrapper.c:
Update to get 6model core to build agian.
21:44
p: 780c4a3 | jnthn++ | src/ops/nqp (3 files):
Fix ops...and we have a working/test-passing NQP build again.
diakopter agh
jnthn diakopter: apologies for commiting stuff. :P
21:45 kaare_ left
masak try not to do it again :P 21:46
dalek kudo/nom: b9aa5be | jnthn++ | / (6 files):
Bump to latest NQP, and some updates to adapt to REPR changes.
21:48
jnthn ooops, I did it agian
masak \o/
21:48 mkramer left
jnthn </britney_voice> 21:48
tadzik I played with your code
got lost in the forks 21:49
jnthn oh save me, save me!
masak but I'm not that invocant
21:49 mkramer joined
PerlJam That's a nice little cascade ...new nom requires new nqp requires new parrot 21:49
jnthn The fallout of that refactor should be nothing observable. :) 21:50
[Coke] ok, tadzik's were fine, but masak's is GROANable.
masak :P
PerlJam I *liked* masak's
jnthn ...apart from it unblocks me to work on CArray and removes a bunch of copy/paste that has bothered me for ages.
[Coke] PerlJam: that didn't require a new parrot, I don't think.
tadzik \o/ 21:51
PerlJam [Coke]: it did on my box :)
tadzik masak: we should start a band
[Coke] you just need to update more often. ;)
jnthn No, my set didn't, though there was a PARROT_REVISION bump earlier today by moritz++
tadzik or you can join Ąkancyrantia :)
PerlJam [Coke]: clearly.
masak tadzik: Tadeusz and the Britneys
tadzik it's more understandable than Ąkancyrantia, indeed 21:52
[Coke] masak: so why aren't you mäsak on irc?
masak phenny: "Ąkancyrantia"?
phenny masak: Language guessing failed, so try suggesting one!
masak phenny: pl "Ąkancyrantia"? 21:53
phenny masak: The pl to en translation failed, sorry!
tadzik masak: it's a made up word :)
masak oh!
tadzik it means the time interval between the sound of the beer opening and the sound of the bottle cap hitting the floor
jnthn :D
[Coke] also, there has GOT to be an easier way to type ä than alt-0228 :P
masak [Coke]: I used to be less UTF-8-friendly than I am now. :)
benabik tadzik: i.e. the time it takes you to drink it?
tadzik benabik: nah, the time when the cap falls 21:54
benabik tadzik: You have to drink quickly. ;-)
tadzik I guess so :)
jnthn If you tape yourself to the ceiling, you get more time.
Or open it on the moon.
jnthn ponders what pouring a beer would look like in a lower-gravity environment 21:55
tadzik the cap may fly away and confuse astronauts
jnthn: it'd fly horizontally :P Imagine that 21:56
you turn thebottle, and it goes sideways
jnthn Wow. You'd think you'd had too much before you even started. :P 21:57
tadzik :)
benabik I think you've already had too much if you're taping yourself to the ceiling and thinking you're on the moon. ;-) 22:00
[Coke] finally enables the international keyboard input on his windows laptop so he can type mäsak! 22:03
masak \o/
but then it won't highlight here... :)
[Coke] Makes it super hard to type "a now, but that's fine. ;)
you need a better client! ;)
22:05 benabik left
diakopter just have it highlight on sak 22:05
oops I just accidentally reset --hard 22:08
22:10 bluescreen10 left
Tene yay reflog 22:10
22:11 benabik joined
diakopter too bad I hadn't committed 22:17
22:17 mkramer left, mkramer joined
benabik git-reset needs a reset.interactive config option (like rm -i) 22:19
22:20 plutoid left 22:26 am0c joined 22:27 zby_home_ left 22:32 nornagest left
masak blog post! \o/ strangelyconsistent.org/blog/macros...-bit-of-d1 22:33
I don't blog often enough nowadays :)
22:37 mkramer left, mkramer joined
jnthn e 22:41
oops
masak mimes an empty file for jnthn 22:42
Tene masak: no, you don't. 22:43
benabik: you can make your own with an alias
benabik Tene: Yes, but I want it to stop me from using reset --hard. ;-D
Although I suppose I could bash alias git to something else that modifies reset. Blah. Easier to just hack git.git 22:44
masak ok, I'm going on a short two-week leave. not sure I'll be on IRC much. will miss y'all. 22:47
& 22:48
jnthn
.oO( gee, I'm glad it's a short two weeks, not a long two weeks :) )
22:49 f00li5h joined
jnthn grr, this sized type stuff is a little bit tricky :) 22:51
PerlJam masak: When do you guess you'll merge into nom?
masak: in any case, a forward-looking advent post on macros might be nice ;)
benabik PerlJam: Probably not in the next two weeks, since he just said he was going on leave. 22:52
PerlJam indeed. I didn't think it would be soon, just curious when it might be 22:55
23:02 wolfman2000 joined
jnthn I asked recently if "before the Dec nom relesae" was likely, and the answer was "maybe". But I think for the January release is more likely. 23:02
23:07 mkramer left, mkramer joined
felher masak: Bye :( 23:10
Tene very tempted to work on masak's macros branch. 23:12
23:24 benabik_ joined 23:26 benabik left 23:29 benabik_ left 23:36 orafu joined 23:45 mj41 left 23:50 gfldex left
dalek p: 60ed59a | jnthn++ | src/6model/sixmodelobject.h:
First sketch out the indexable representation function table.
23:51
p: e07a169 | jnthn++ | src/6model/repr_registry.c:
Initialize indexable REPR function table for REPRs that don't support it.
p: 0b0638b | jnthn++ | src/6model/reprs/ (11 files):
Allocate ready zeroed out memory for REPR function tables, meaning we're more future-proof, but also can delete a bunch of ... = NULL assignments.
jnthn OK, that's much of my pre-requisites for working on array passing for native call done. Will hack on that tomorrow. :)
23:51 tokuhirom joined 23:52 gfldex joined 23:58 hundskatt left