Parrot 2.11.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Keep up with GCI
Set by moderator on 5 January 2011.
mikehh but anyway I need some sleep, so will try and finish it up when I wake up again 00:00
rfw oh, i'm not getting a segfault any more
i'm getting SIGABRT
odd
mikehh bbl
rfw oh there we go
nwellnhof rfw: that's possible due to memory randomization and random hash seeds.
rfw attached 00:01
cotto: is that okay? 00:03
cotto rfw, it also uses print, but I can fix that 00:04
rfw oh, didn't see that 00:05
dalek rrot: 4f5fc35 | cotto++ | t/pmc/bigint.t:
Merge branch 'bigint_test_coverage' of github.com/rofflwaffls/parrot into rofflwaffls-bigint_test_coverage
00:12
rrot: b0380c8 | rfw++ | t/pmc/bigint.t:
converted say to diag()
rrot: 23c2022 | cotto++ | t/pmc/bigint.t:
Merge branch 'bigint_test_coverage' of github.com/rofflwaffls/parrot into rofflwaffls-bigint_test_coverage
rrot: c9c10fb | cotto++ | t/pmc/bigint.t:
[t] also avoid use of print op in bigint tests
cotto rfw, marked complete 00:13
rfw yay
thanks
cotto Matt221, also marked complete
Kovensky sends SIGQUIT to rfw 00:14
rfw sends SIGSEGV to Kovensky
cotto Matt221, nice job breaking 100
Kovensky nuu D:
Matt221 cotto: thanks! ill take this: www.google-melange.com/gci/task/sho...9452254826 00:15
cotto yes you can
that'll be a good one
bacek cotto, did you create "pirate cli" task? 00:17
cotto Matt221, that PMC was very recently updated. Don't be surprised if there's a lurking bug. 00:18
bacek, not yet
dalek rrot/nqp_pct: eddba82 | bacek++ | compilers/pct/ (4 files):
Convert POST::Op to NQP
rrot/nqp_pct: 4da62c0 | bacek++ | compilers/pct/src/POST/ (12 files):
Update vim modelines
rrot/nqp_pct: 98a5a52 | bacek++ | compilers/pct/src/POST/Sub.pm:
Remove obsoleted comment.
cotto bacek, were you thinking it'd use PIR Getopt? 00:19
bacek cotto, dunno. There is some support for CLI in PCT::Compiler. We should just reuse and extend it in PIR::Compiler 00:21
cotto bacek, do you basically want to make ./installable_pir --target=pbc -o foo.pbc foo.pir dtrt? 00:22
I thought it already did
bacek I want at least "--debug" :) 00:23
--target, etc handled by PCT::Compiler afaik
cotto right
what would --debug do?
set an internal variable so that more diagnostic info gets printed? 00:24
Matt221 cotto: can you give a quick summary on how packfilebytecodesegment works. i.e. should it be initialized using the normal init method or from another object, etc.. 00:25
00:25 aantn left
cotto Matt221, examples/pir/make_hello_pbc.pir 00:25
it's a PMC-based interface to Parrot's Packfile code, which is the internal format used to store bytecode and whatever's needed to make the bytecode useful. 00:27
bacek cotto, POST::Compiler.create_context. It should set %context<debug> into 1.
cotto bacek, so the task is simple to add --debug to PIRATE that sets that flag?
Matt221 cotto: thanks, makes sense 00:28
bacek cotto, I think we should make it more generic
cotto bacek, can you write up what you have in mind?
I can turn it into a gci task.
00:29 whiteknight joined
cotto hio whiteknight 00:33
whiteknight hello cotto
dalek rrot: 4bcb796 | nwellnhof++ | src/pmc/bigint.pmc:
Fix BigInt.set_pmc

See TT #1940
00:36
nwellnhof we still need a test for that
cotto we can unskip the test 00:38
00:40 avms left, chromatic joined
nwellnhof cotto: which one? 00:43
cotto test_set_pmc in t/pmc/bigint.t 00:44
dalek rrot: c9ea3e3 | nwellnhof++ | t/pmc/bigint.t:
[t] Unskip BigInt.set_pmc test
00:48
whiteknight you know what would solve the problem permanently? Rip BigInt out and send it on it's way
wrap it up in plastic and drop it off a cliff 00:50
nwellnhof do we have a replacement? 00:51
dalek rrot: f935437 | jkeenan++ | lib/Parrot/Docs/Section/Tools.pm:
Remove instance of new_item() for deleted program 'tools/dev/list_unjitted.pl'.
00:52
rrot: a25bfd8 | jkeenan++ | / (3 files):
Merge branch 'master' of git@github.com:parrot/parrot
nwellnhof plobsing: i've been working on unicode filenames. i should have something ready by tomorrow. 00:53
plobsing nwellnhof: I've been working on unicode environment variables and argv. I should have something to publish after I run fulltest 00:54
nwellnhof i've been looking into unicode command line arguments for windows. that will be hard to implement afaics. 00:56
plobsing it works now under linux and should be implementable on any system that consistently uses an encoding (ie: not insane) 00:58
nwellnhof: to get unicode command line arguments under windows, don't you simply rename main to wmain? 00:59
nwellnhof plobsing: yes, or you call GetCommandLineW. but the option parser doesn't understand utf-16. 01:01
i think the easiest way is to write a small standalone utf-16 to utf-8 converter. 01:02
plobsing IMHO, the correct solution is to use parrot strings pervasively and convert encodings at the OS barriers 01:03
dalek TT #1940 closed by nwellnhof++: set_pmc segfaults in BigInt 01:04
TT #1940: trac.parrot.org/parrot/ticket/1940
plobsing that does make things quite tricky for the option parser (which happens before GC is initialized), but I think I might have a solution for that
dalek rrot: 8c532f1 | jkeenan++ | examples/benchmarks/mops_intval.pasm:
Remove reference to deleted file in POD; provide plausible replacement.
nwellnhof plobsing: what's your plan? 01:06
plobsing create an initial interpreter (with hard-coded options) to parse the argv and set up the real deal 01:07
this strategy would also allow HLLs and other fakecutables to expose more control over the interp
nwellnhof that's the definitely the cleanest solution. 01:08
cotto It'd be nice to have all option parsing happen in the same place instead of needing to break it into two stages. 01:09
whiteknight a cleaner solution would be to not have options which the interpreter can't parse 01:14
Being able to pick the GC core on the commandline is probably not a necessary feature 01:15
GC threshold values can be set at any time, really
dalek rrot/platform-encoding: 76b1cdf | plobsing++ | / (5 files):
add "platform" encoding alias

  "platform" encoding represents the assumed encoding which occurs in many OSes.
This defaults to ASCII, which is how we treat our C strings now mostly.
01:16
rrot/platform-encoding: e5e791e | plobsing++ | config/gen/platform/linux/encoding.c:
add linux-specific platform encoding functions with support for ASCII, Latin-1, and UTF-8 locales
plobsing afk
rrot/platform-encoding: daff2a6 | plobsing++ | frontend/parrot/main.c:
respect locale settings
rrot/platform-encoding: 5503a4c | plobsing++ | config/gen/platform/generic/env.c:
use platform encoding strings in getenv/setenv
rrot/platform-encoding: 9c266ab | plobsing++ | src/string/api.c:
translate between NULL and STRINGNULL for platform strings
rrot/platform-encoding: f375a9d | plobsing++ | / (8 files):
use parrot strings as the output of getenv

this encapsulates platform encoding for environment strings
rrot/platform-encoding: de3e486 | plobsing++ | src/pmc/env.pmc:
use parrot strings when iterating environment

handles non-ascii environment variable names better
rrot/platform-encoding: 9cc3ace | plobsing++ | / (2 files):
allow for unicode names of fakecutables
rrot/platform-encoding: c654e05 | plobsing++ | src/ (2 files):
respect locale for argv wrapping
rrot/platform-encoding: f9ba45c | plobsing++ | / (2 files):
[codingstd] long lines and function documentation formatting
rrot/platform-encoding: 693f4b5 | plobsing++ | MANIFEST:
mk_manifest_and_skip
rrot/platform-encoding: bb9927f | plobsing++ | include/parrot/ (2 files):
headerizer
rrot/platform-encoding: dd53af6 | plobsing++ | config/gen/platform/ (2 files):
fixup typos
rrot/platform-encoding: 7606225 | plobsing++ | src/string/api.c:
assert args for newly added functions
rrot: 995cf83 | Whiteknight++ | / (12 files):
Merge branch 'master' of github.com:parrot/parrot
01:19
nwellnhof whiteknight: the GC core option is the only really hard one. but we can also keep parseflags_minimal for that. 01:21
whiteknight nwellnhof: I've been coming to the conclusion that a command-line selectable GC core is not a good idea 01:22
not only does it make arg parsing and interp creation more complicated, but it also adds an indirect function call for every single GC operation, which eats performance
far better, I think, is a compile-time option like we used to have 01:23
01:26 kid51 is now known as kid51_at_dinner
nwellnhof compile-time is ok with me. we should also rip out the old gc_ms code. 01:27
cotto what about the hash seed? That's quite useful for some debugging use cases. 01:37
plobsing can the GC invalidate precomputed hash seeds on all strings? 01:38
(since it knows about all the strings already)
cotto 0 is assumed to be uninitialized or otherwise invalid 01:39
nwellnhof it's no problem to keep parseflags_minimal for ascii options.
plobsing hmmm... that still doesn't cause all hashes to reorder themselves
cotto zeroing all string hashes should do it
nwellnhof changing the hash seed at runtime is next to impossible. 01:40
cotto I think the solution to doing that may be worse than just having two places that parse options. 01:41
nwellnhof we have three places currently 01:42
plobsing++ # i like platform-encoding 01:44
01:50 Yuki`N joined
whiteknight Well, when we consider hash seed, There really is no way to do all argument processing at once 01:50
UNLESS we don't read the hash seed from the commandline
Yuki`N So I wonder when GCI really ends.
whiteknight we get it from an environment variable or something
Kapace Yuki`N: www.timeanddate.com/counters/custom...=&p0=0 01:51
Yuki`N 0800 UTC, which means beginning of jan 10, yes?
cotto whiteknight, interesting idea. I'll need to give that some thought. 01:52
whiteknight cotto: Io
I'm not necessarily suggesting it. But if there is motivation to unify arg processing, that's a way to acheive it
cotto that'd make it easier to deal with fakecutables and other embedded uses of libparrot.
whiteknight of course, arg processing is something that the front-end does, not libparrot itself
plobsing sent mail to parrot-dev re: platform-encoding. if noone objects, I'll merge monday sometime.
Matt221 cotto / whiteknight: can you review: github.com/parrot/parrot/pull/109 01:53
Yuki`N What happened to fbrito fixing sha256?
whiteknight right, the command-line options that parrot executable uses now is just a quirk of that front-end. We could easily write a new front-end with a different command-line
cotto Yuki`N, he may have given up or decided to come back to it. I'm not sure.
Yuki`N, are you interested in that task? 01:54
Yuki`N I may try it.
cotto whiteknight, are you reviewing the pull request?
Yuki`N Unfortunately I'll have to familiarize myself with sha256 first.
cotto Yuki`N, did you check the additional links?
whiteknight which pull request? 01:55
I'm not reviewing anything right now
Yuki`N I wiki'd sha2.
The task is only a 2pointer? D:
I like crypto anyway.
cotto Yuki`N, it's open.
Yuki`N This one time I was writing a C# implementation of custom AES and it was bugged.
rfw Yuki`N: 30 more hours \\o/
Yuki`N Turns out I passed a reference to a byte array instead of a clone. 01:56
Threw off the entire algorithm.
Crpyto bugs are horrible.
cotto Hmm. I could call it "difficult" or "medium", depending on the state of the code.
It could be a single-character problem or it could be something more serious.
rfw cotto: www.google-melange.com/gci/task/sho...9452224440 01:57
cotto It's difficult now.
Yuki`N Ah.
Kapace i tried to look at it, I saw that some of the internal functions were optimized..
cotto accepted 01:58
Kapace, in that case the rating of "difficult" is warranted.
Kapace so I redid them without optimizations (implemented straight from some other code), and still no go
cotto rfw, also accepted 01:59
dalek rrot/gci_hash_func_rename: 8e5145b | Whiteknight++ | / (15 files):
rename a few functions for saity. Add macros with the old function names (pre-branch) to help with the deprecation
rfw cotto: thanks
Kapace cotto: but yeah, who knows, could be an off-by-one error or something
cotto Yuki`N, you can fix it however you like. Once it's working, we can optimize it as needed now that we have tests. 02:00
Kapace it would be interesting to see what causes it in the end...
s/would/will/
02:00 kid51_at_dinner is now known as kid51
Yuki`N If I change the pir file how do I compile it to pbc? 02:00
cotto make will catch it
Yuki`N ah. 02:01
cotto it's nice like that
at least you won't have a long compilation time
Matt221 cotto: can you take a look at this: github.com/parrot/parrot/pull/109 02:02
cotto whiteknight, do you have tuits to look at the pull request or should I?
whiteknight I don't tonight. I'm trying to wrap up this hash_func_rename branch tonight and then bed 02:03
if it can wait till morning, I can do it
cotto ok. I'll get it.
that's a tricky one. 02:04
Yuki`N Too bad there's no PIR debugger.
cotto I tried and didn't end up having enough tuits
Yuki`N This code is only tricky because PIR is a relatively limited language.
cotto Yuki`N, you mean like parrot_debugger?
rfw how do i call the get_pointer vtable?] 02:05
Matt221 rfw: get_addr
rfw Matt221: thanks
cotto rfw, from PIR you don't
Yuki`N PIR is big-endian, yes? 02:06
cotto Yuki`N, it's the same as the platform
rfw, it's one of those VTABLE functions that usually exposes internal stuff that we don't want exposed. In the general case you don't want to muck with it, but for tests it's ok if you know what you're doing. 02:08
Matt221, $P0 = box 3 is easier than $P0 = new 'Integer' \\n $P0 = 3 02:12
dalek rrot: 3143e53 | (Matt Rajca)++ | / (2 files):
Increased code coverage for PackfileBytecodeSegment PMC
02:13
rfw cotto: ah okay
cotto: 100% coverage for nativepccmethod :) 02:14
whiteknight rfw++
rfw hi whiteknight
cotto whiteknight, I'm glad you're working on hash_func_rename 02:16
rfw argh, forgot to rebase
cotto, whiteknight: www.google-melange.com/gci/task/sho...9452224440 review please
cotto rfw, you should be working from a branch anyway
rfw cotto: yeah but my master wasn't clean 02:17
so i had to rebase parrot origin onto my branch
whiteknight cotto: It's going to merge tonight. I'm running tests now and if they pass it's merging
and I've included those macros for deprecation awesomenes
cotto rfw, ah. You are. Good show. 02:18
whiteknight, great.
Changing _hsh_ to _hash_ will definitely not be one of the things I regret doing.
even if I had to review the whole commit to make sure I didn't change anything I didn't mean to 02:19
whiteknight cotto: That's what I'm saying about those unique prefixes. If all functions in a subsystem use the same unique prefix, it's trivial to change them all at once
kid51 Suggestion for new GCI task: Reduce number of files failing under 'make warnings_tests'
whiteknight from this point forward, we can change them all on a whim any time we want with a single sed command
cotto yup 02:20
and if you named your variable Parrot_hash_foo, it won't go well with you. 02:21
nopaste "kid51" at 192.168.1.3 pasted "Tests failing under 'make warnings_test'" (39 lines) at nopaste.snit.ch/27662
cotto kid51, I didn't we had that.
*know 02:22
kid51 Neither did I until I started going thru TT #1922 (the 'make help' review task that wasn't done so well) 02:23
cotto kid51, I agree. Apologies for approving that prematurely. 02:24
kid51 My impression is that the students shy away from tasks where we include in the requirements things like: "evaluate this"; "write a report"; "make a recommendation" 02:25
Yuki`N How do I define PIR macros?
I feel like this code needs to be macro'd.
cotto t/pir/macro.t
dalek rrot: 28b43a8 | Whiteknight++ | / (35 files):
merge the branch to rename hash functions, fixing conflicts
02:26
whiteknight ...and merged
rrot: 2b85435 | Whiteknight++ | t/src/embed/api.t:
add in a test file I thought I had added earlier
rrot: d564d88 | Whiteknight++ | / (2 files):
Merge branch 'master' of github.com:parrot/parrot
rfw whiteknight: can you review my task?
cotto Yuki`N, note that the value of PI_APPROX does not represent a consensus among Parrot's development team.
Yuki`N I looked at that.
whiteknight rfw: link? I only have a few minutes 02:27
Yuki`N I'm rather sure 3.14 rounds to 3.
rfw whiteknight: www.google-melange.com/gci/task/sho...9452224440
Yuki`N >:
plobsing cotto: what's wrong with it? round-to-even is better for most things than round-to-nearest-int
nevermind. serious thinko 02:28
dalek rrot/gci_nativepccmetod_coverage: 6778e6b | rfw++ | t/pmc/nativepccmethod.t:
100% coverage for NativePCCMethod.
02:29
rrot/gci_nativepccmetod_coverage: 34a4ee8 | rfw++ | t/pmc/nativepccmethod.t:
Should be NativePCCMethods, not Keys
cotto whiteknight, do what you can and I'll take care of the rest. lmk when you're done.
whiteknight I've got this rfw task tonight
but I'm to bed after it
cotto ok. thanks
rfw whiteknight: thanks 02:30
dalek rrot: 1d16ad8 | Whiteknight++ | t/pmc/nativepccmethod.t:
Merge remote branch 'origin/gci_nativepccmetod_coverage'
02:31
whiteknight rfw: Merged. Task closed. Great work. 02:32
...and now I'm off to bed
rfw thanks
whiteknight no, thank you
Kapace good night whiteknight
whiteknight goodnight
02:32 whiteknight left
Kapace goodknight 02:33
rfw Kapace: u so funneh 02:35
Yuki`N: did you ever claim that gdb backtrace task 02:36
Yuki`N It's impossible, lol.
rfw oh
didn't you get something working
Yuki`N Backtraces from assertions, etc, are not printed using gdb. 02:37
rfw oh
Yuki`N I got gdb pretty-printers working.
rfw www.google-melange.com/gci/task/sho...9402505935 <-- this task?
oh
bleh
i completely missed the word "backtrace"
even after saying it
nwellnhof Yuki`N: that gdb pretty printer stuff sounds really interesting. how can i set it up? 02:39
Yuki`N You need a really recent verison of gdb, I'd compile from source. 02:40
nopaste "kid51" at 192.168.1.3 pasted "'make testgcd' test failures" (196 lines) at nopaste.snit.ch/27663
Yuki`N Then you just use gdb as you normally would. It has to be with the parrot you build though, so that it loads blib/lib/libparrot.so
While you're debugging, parrot strings get printed as normal strings, and PMC's get printed with their type as well as their attributes, auto-unmapped for you. 02:41
nwellnhof GNU gdb (GDB) 7.2-debian: is that enough? 02:42
dalek TT #1941 created by jkeenan++: make warnings_tests: Eliminate tests which run with warnings
TT #1941: trac.parrot.org/parrot/ticket/1941
Yuki`N Debian, probably not. 02:43
Try umm.
show pretty-printers
or info pretty-printers
I forget which one it is.
cotto time for food. Code review will follow.
kid51 what just got merged in?
dalek rrot: a1010ba | jkeenan++ | config/gen/makefiles/root.in:
Remove from 'make help' two test<runcore> targets which no longer exist.
02:44
rfw hm, in get_pmc_keyed_str method in dynlexpad returns PMCNULL if the lexical doesn't exist 02:50
but can that actually happen
since i just get no such item
is it possible to make a constant dynlexpad? 03:02
does that even make sense
Yuki`N Why can't I use the <rot> instruction in the Parrot library? It's in the bit dynops. 03:03
cotto kid51, it was a bunch of hash function renaming
plobsing Yuki`N: what makes you say you "can't"?
rfw cotto: a lot of the things in dynlexpad are uncoverable 03:04
Yuki`N It doesn't compile for some reason
rfw like mark/destory
destroy*
cotto Kapace, the lsr_p_p_p test fails
rfw also it tests for a constant dynlexpad, which i don't think makes any sense
can you even have a constant dynlexpad?
Yuki`N error:imcc:syntax error, unexpected VAR, expecting '(' ('x')
result = rot x, n, 32
rfw Yuki`N: you remembered to loadlib right 03:05
Yuki`N The rest of the bitops work, lol.
plobsing Yuki`N: did you .loadlib the dynoplib and make sure you've used the correct number/types of arguments?
dalek rrot: 57dbc6b | jkeenan++ | config/gen/makefiles/root.in:
Eliminate 'testp' target, which is declared exactly the same as the older 'testr' target.
Yuki`N It's done with a hll spec.
dalek rrot: 1856359 | nwellnhof++ | / (8 files):
[io] Cleanup file open code

Make PIO_OPEN return a OS handle.
03:06
rrot: fb48675 | nwellnhof++ | / (5 files):
[io] Unify stdhandle init code
rrot: 3916b26 | nwellnhof++ | / (6 files):
[io] Remove unused PIO_PEEK
rrot: 22335de | nwellnhof++ | / (6 files):
[io] Make PIO_CLOSE accept an OS handle

Also factor out waitpid function
rrot: e5a41ae | nwellnhof++ | / (6 files):
[io] Make PIO_READ and PIO_FLUSH accept an OS handle
rrot: 33d25e1 | nwellnhof++ | / (5 files):
[io] Make PIO_WRITE accept an OS handle and a raw buffer
rrot: 69ff69f | nwellnhof++ | / (6 files):
[io] Make PIO_SEEK and PIO_TELL accept an OS handle

And fix some compiler warnings
rfw cotto: in fact it just looks copypasted from the hash pmc
rrot: 108b021 | nwellnhof++ | src/io/win32.c:
[io] Win32 fixes
rrot: 569b6cb | nwellnhof++ | src/ (3 files):
[io] Convert filenames to right encoding
Kapace cotto: hmm, it passes for me 03:08
cotto not ok 88 - lsr_p_p_p
# Have: 4
# Want: 2
rfw oh bleh
could someone approve www.google-melange.com/gci/task/sho...9452161224 03:09
cotto done
Kapace cotto: the fix for output to preg 1 should be in the pull request
rfw pull request submitted
cotto Kapace, I just pulled and didn't get it 03:10
Kapace cotto: github.com/kapace/parrot/commit/0f...374efdf10c
it says it in the pull request.. strange 03:11
cotto Kapace, forgot to rebuild
my mistake
Kapace ah right 03:12
cotto that's why we have coverage 03:13
Kapace so we don't forget to rebuild. what else is coverage for.. :P 03:14
perty numbers too
rfw cotto: can you destroy a dynlexpad? 03:16
dalek rrot: 0b2a9d4 | cotto++ | / (2 files):
Merge branch 'kapace-kapace/test_bitops'
cotto rfw, why do you ask? I don't know why it shouldn't work. 03:17
rfw cotto: it doesn't seem to be garbage collected
cotto Kapace, done
rfw even when i null and sweep
Kapace thanks again cotto
bacek rfw, "$P0 = new DynLexPad; null $P0; sweep 1"
cotto rfw, odd
rfw never mind 03:18
i tell a dirty lie
Kapace tommorow, I'm bringing a can of canned applause for the mentors and their hard work :)
rfw hm cotto destroy doesn't get called, only mark 03:19
kapace_ rfw, is the destroy func being set to be called?
rfw kapace_: how do i do that 03:20
kapace_ hold on, let me get you an example I ran into
tapir2.ro.vutbr.cz/cover/cover-resu...y-pmc.html 03:21
see set_pointer, PObj_custom_destroy_SET(SELF);
rfw ah
so what happens then?
kapace_ if that function isn't called, then the custom destroy function (destroy()) isn't called
rfw ah i see
kapace_ so check if theres a call to PObj_custom_destroy_SET(SELF) somewhere, and make sure you call that before nulling/sweeping 03:22
rfw hm, it's being called in the init_pmc vtable
kapace_ then your SOL buddy :P
rfw but how do i call the init_pmc vtable :| 03:23
kapace_ pretty sure (just from the name) it gets called when it initializes.. 03:24
rfw odd
doesn't seem to work
oh, there 03:28
had to initialize it from somewhere super weird
kapace_ lets see?
rfw $P0 = get_global "meh" 03:29
$P1 = new ['LexInfo'], $P0
$P2 = new ['DynLexPad'], $P1
kapace_ ah, certain constructor calls set destroy
rfw yeah
cotto: can i get a const dynlexpad?
cotto rfw, I'm not sure.
rfw cotto: i don't think that quite makes sense 03:30
but to test this i need a constant dynlexpad
cotto me neither
rfw which looks like it was just copypasted from hash
it's at 90% right now and i think i've tested all i can test
cotto did you send your pull request early?
rfw yeah
cotto ok
rfw cotto: done 03:32
nopaste "nwellnhof" at 192.168.1.3 pasted "Unicode demo, works on Linux and Windows with current trunk" (9 lines) at nopaste.snit.ch/27664 03:34
plobsing nwellnhof: how does opening a file with non-ascii characters encoded as utf-8 work on windows? 03:36
I would expect that to fail pretty bad 03:37
kapace_ it doesn't :P
nwellnhof plobsing: github.com/parrot/parrot/blob/mast...n32.c#L223 03:39
now i only have to fix imcc... 03:40
Yuki`N Can I do index arithmetic in PIR? i.e. var = t[i + 1] 03:41
plobsing nwellnhof: have fun
Yuki`N: no. this is an assembly-ish language. and x86 is evil as far as assembly-langs go. 03:42
Yuki`N Hurrr.
Why are we implementing sha256 in asm?
`-`
rfw cotto: is it okay? 03:43
cotto rfw, looking now
rfw thanks
dalek m-eta-wink-kzd: eb41323 | plobsing++ | src/ometac.winxed:
don't serialize Getopt - it still has issues
m-eta-wink-kzd: c88427b | plobsing++ | src/ometac.winxed:
add -I, -L, and -h options inspired by winxed
Yuki`N I can't do `W[counter] |= Wtmp` either? 03:46
error:imcc:syntax error, unexpected BOR_ASSIGN, expecting '=' ('|=') 03:47
cotto Yuki`N, you can't do complex operations in pir 03:48
Yuki`N asdfas
kapace_ one thing at a time ;)
dalek rrot: e3fea5c | rfw++ | t/dynpmc/dynlexpad.t:
Increased coverage to 92.0%.
03:49
rrot: 390e9b1 | cotto++ | t/dynpmc/dynlexpad.t:
Merge branch 'dynlexpad_coverage' of github.com/rofflwaffls/parrot into rofflwaffls-dynlexpad_coverage
cotto approved 03:50
thanks
rfw cotto: thanks
plobsing msg NotFound is it possible to suppress 'class not found at compile time' warnings in winxed? 03:54
aloha OK. I'll deliver the message.
cotto rfw, are you trying to break 300? 03:57
rfw cotto: trying not to, but jumpyshoes apparently has 10 tasks queued 03:58
Yuki`N Omg 04:09
I fixed it.
04:11 kid51 left
cotto Yuki`N, awesome 04:19
Yuki`N That was pretty intense.
cotto Yuki`N++
let's see a pull request
Yuki`N I gotta update the test, I forgot.
github.com/parrot/parrot/pull/112 04:24
I had to reverse an optimization, but it was a memory-related optimization, not a speed one.
04:25 Kristaba left
cotto Yuki`N, if it broke something then it wasn't a very good optimization 04:27
Yuki`N I'm not quite sure why there was a method to switch the endian-ness of a word, but I see it in md5 as well. 04:28
cotto lmk when the rest of your changes are ready
Yuki`N They're ready.
cotto ok
Yuki`N I removed that initially, and the results didn't change.
I'm not quite sure why.
They should already be big-endian, and switching them would make it little-endian, but it appeared to not matter. 04:29
These implementations of MD5 and SHA should really be redone, though.
The way it's implemented requires all data to be in memory at once.
The standard C implementation allows for it to be done in iterations of the block size, e.g. 512 bits for SHA. 04:30
kapace_ Yuki`N, epic!
cotto Yuki`N, that's pretty lame. 04:31
Yuki`N Yeah. :/
cotto It's good you got it working though. Nice job. 04:32
I imagine you learned a bit about hashing algorithms too.
Yuki`N I suppose lol. 04:33
Now I know Rijndael and SHA.
lol
dalek rrot: 7d7cc60 | Yuki`N++ | / (2 files):
Fix implementation of SHA256 in PIR.
04:34
cotto don't forget to mark the gci project as complete
Yuki`N Oh right.
LAST MINUTE GCI TASK -> IMPLEMENT AES IN PIR. 04:35
lol
cotto you want it? 04:36
I'll let you be as insane as you like
done 04:37
Yuki`N Lol. 04:38
Thanks.
Idk
Could PIR use AES at all, and how would we test it. 04:39
*parrot
04:41 rfw left
dalek m-eta-wink-kzd: 27b9e2c | plobsing++ | Makefile:
create blib dirs before build
04:41
m-eta-wink-kzd: ffb3ef4 | plobsing++ | / (2 files):
separate case in winxed translator to handle parent-less classes
04:45 nwellnhof left 04:54 rfw joined
Yuki`N Just had to remedy a netsplit. 04:57
cotto Yuki`N, I don't think it'd be worthwhile right now. 04:58
05:05 Matt221 left
dalek TT #1936 closed by Yuki`N++: SHA256 sums don't seem to match with external tools. 05:10
TT #1936: trac.parrot.org/parrot/ticket/1936
Yuki`N Reading through PEP8, and then they gave advice on how to write English.
Then I stopped reading.
cotto Strunk and White is funny once you start seeing that they don't follow some of their own advice. There's some good stuff there, but there are also unsupported assertions about style. 05:24
news.ycombinator.com/item?id=557899 05:25
dalek TT #1913 closed by Yuki`N++: README issues 05:27
TT #1913: trac.parrot.org/parrot/ticket/1913
Yuki`N I feel that style guides are all good when writing code, but when they start saying how to write comments... 05:30
05:34 gbacon left
cotto Yuki`N, consider the source. 05:37
Though to be fair, it is good to specify what should and shouldn't go into comments. They can be very important for someone trying to figure out a bit of code.
Yuki`N I suppose. 05:40
dalek m-eta-wink-kzd: f62b138 | plobsing++ | / (2 files):
handle else-less if statements in translator
m-eta-wink-kzd: e42d9ae | plobsing++ | README.pod:
tweak readme to reflect reality
m-eta-wink-kzd: de86d4a | plobsing++ | bootstrap/README.pod:
update/simplify bootstrap readme
cotto there's a balance 05:41
plobsing Ωη bootstraps and runs all of its tests correctly! \\o/
if only winxed wouldn't output those annoying warnings, I could generate proper TAP and have a real testsuite. 05:42
cotto plobsing, nice 05:43
05:45 rurban_ joined 05:48 rurban left, rurban_ is now known as rurban 05:54 Yuki`N left
dalek rrot/html_cleanup: c5af703 | mikehh++ | lib/Parrot/Docs/HTMLPage.pm:
fix copyright in footer (need to set up a parameter for this)
06:07
rrot/html_cleanup: 2cd49c4 | mikehh++ | lib/Parrot/Docs/PodToHtml.pm:
remove $Id$. add method to return page title
rrot/html_cleanup: 6ca8c86 | mikehh++ | tools/docs/make_html_docs.pl:
add code to generate index/header .html files
06:16 theory left
dalek rrot/html_cleanup: a61b415 | mikehh++ | tools/docs/make_html_docs.pl:
add some lines I missed from my test file (for titles)
06:49
rrot/html_cleanup: 95dcd10 | mikehh++ | tools/docs/make_html_docs.pl:
fix home page reference
06:51 mib_yplng8 joined
mib_yplng8 hi, i'm getting error "Could not load oplib `perl6_ops`" when running perl6 in windows. 06:52
anybody have a solution?
dalek rrot/html_cleanup: 6d80f99 | mikehh++ | / (74 files):
[html_cleanup] merge in origin/master
06:56
cotto mib_yplng8, how did you install Rakudo? 07:02
mib_yplng8 cotto, using the msi 07:07
07:07 rfw left
dalek rrot: 39140e3 | mikehh++ | MANIFEST:
re-generate MANIFEST
07:09
cotto mib_yplng8, where did you get that? I didn't know anyone was providing those.
kapace_ aloha, karma msi
aloha kapace_: msi has karma of -1.
mib_yplng8 sourceforge.net/projects/parrotwin32/ 07:15
aloha: check this
cotto:
cotto: sourceforge
07:19 rfw joined, gcamblin left 07:20 gcamblin joined
cotto mib_yplng8, you might ask fperrad or see if they can help in #perl6 in freenode 07:21
mib_yplng8 ok 07:22
dalek rrot: a09d9d6 | mikehh++ | t/src/embed/api.t:
add perl coda to fix perlcritic failure
07:27
07:39 mib_yplng8 left
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#2147) fulltest) at 2_11_0-881-ga09d9d6 - Ubuntu 10.10 i386 (g++-4.5) 07:59
dalek rrot/html_cleanup: 39140e3 | mikehh++ | MANIFEST:
re-generate MANIFEST
08:20
rrot/html_cleanup: a09d9d6 | mikehh++ | t/src/embed/api.t:
add perl coda to fix perlcritic failure
rrot/html_cleanup: 2834d92 | mikehh++ | / (2 files):
[html_cleanup] merge in origin/master
mikehh methinks that the branch is ready to merge, viewing/testing welcome 08:23
08:24 redicaps1 joined
cotto mikehh, great. I'll give it a once-over. 08:24
a json-based organization sounds much saner than the previous version 08:29
nopaste "cotto" at 192.168.1.3 pasted "make html fails after reconfig" (10 lines) at nopaste.snit.ch/27665
cotto mikehh, ^
mikehh cotto: definately don't get that, what version of perl you got? 08:35
cotto 5.10.0 08:37
mikehh cotto: Coke originally had is using 5.12 - and as I have 5.12.2 some of the core modules might be different 08:38
cotto We need to be sure that it keeps working with at leas 5.10.x 08:42
08:42 fperrad joined
mikehh cotto: sure, need to get kid51 to take a look 08:42
anyway will have a look at it later - got to do something else now 08:44
dukeleto ~~ 08:56
tadzik o/ 08:58
09:04 chromatic left
dukeleto tadzik: how goes it? 09:08
tadzik dukeleto: horrible, tbh. I got terribly sick this night, slept like 3-4 hours 09:10
otoh, I did some pretty awesome mangling in the Perl 6 module ecosystem yesterday :) 09:12
dukeleto tadzik: yes, i saw your email. looks cool :) 09:25
tadzik I gotta get back to this compiler work, yet all the thengs turned out to require loads of knowledge about deprecations and chnges 09:30
10:09 redicaps1 left 10:14 rfw left 11:05 contingencyplan joined 12:12 whiteknight joined
whiteknight good morning, #parrot 12:14
dalek p-rx/nom: 940a00d | jonathan++ | src/metamodel/rakudoobject. (2 files):
Bring over the latest S-Table bits. This stubs in some bits for method cache and type check support.
12:26
p-rx/nom: 5b23dc9 | jonathan++ | src/ (3 files):
type_check op and initial port of the type checking logic.
rrot: 68dabe5 | Whiteknight++ | runtime/parrot/library/distutils.pir:
distutils explicitly depends on turning off named argument count checking, so make sure to unset that flag at the entry point
12:45
p-rx/nom: 5cefcab | jonathan++ | src/ops/nqp.ops:
Untested port of the type check and method cache publication ops.
12:46
p-rx/nom: 997e41c | jonathan++ | src/ (2 files):
Merge remote branch 'origin/nomnom' into nom
13:18
p-rx/nom: f82129f | jonathan++ | src/HLL/Compiler.pm:
Add all attributes from PCT::HLLCompiler and also some commentary about the transition.
p-rx/nom: 239cac7 | jonathan++ | src/ (2 files):
Bring over initialization bits that used to be in PCT::HLLCompiler, plus some refactoring so we don't try and set attributes on a type object.
whiteknight blah. Distutils is broken trying to submit smoke reports 13:20
dalek rrot/html_cleanup: ebdd612 | mikehh++ | tools/docs/make_html_docs.pl:
replace make_path with legacy functional mkpath to accomodate older versions of Perl
13:41
13:42 kid51 joined 13:46 rurban_ joined
mikehh kid51: hi, can you have a look at html_cleanup, I think it is now ready for a merge - please check tools/doc/make_html_docs.pl - I did a lot of messin' around there (probably could have been done better) 13:46
13:48 rurban left, rurban_ is now known as rurban
dalek p-rx/nom: a511a30 | jonathan++ | src/HLL/Compiler.pm:
Bring enough of PCT::HLLCompiler into HLL::Compiler that we can now run and get a prompt. Doesn't yet compile anything, but a step closer. Note that mostly this just wraps PIR bodies into an NQP wrapper; some would be very LHF to translate to NQP fully.
14:13
14:28 fbrito joined
whiteknight nwellnhof: ping 14:37
kid51 mikehh: What criteria should I apply to this review of html_cleanup? (Am not very familiar with make html) 14:45
Where will html docs be created? 14:46
Are there specifics I should be looking out for?
Change topic: If there is anyone here working on Darwin, please try out patch in trac.parrot.org/parrot/ticket/1890 14:49
mikehh kid51: can you have a look at tools/doc/make_html_docs.pl and of course run make html after config :-} and look at the output for docs/html/index.html and see if you see any problems 14:57
fbrito hey guys... I don't feel very comfortable asking for that, but whatever... last month I claimed a task to increase code coverage of Complex PMC by 10% and I have managed to increase it by 20%. I saw that this happened with other students and they all got another task created for them, but I was too ashamed to ask someone to create a task just to me. My question is: is there any chance of having this other task created to me or am I a little bit late? :P
mikehh kid51: see if there are any broken links and if the navigation is ok 14:58
dalek p-rx/nom: dafce7f | jonathan++ | src/HLL/Compiler.pm:
Port dumper from PCT::HLLCompiler to HLL::Compiler, translating to NQP along the way.
14:59
kid51 mikehh: Would tools/doc/make_html_docs.pl benefit from more documentation?
dalek p-rx/nom: 492aa92 | jonathan++ | src/HLL/Compiler.pm:
Fix various thinkos, and remove the parse method grabbed from PCT::HLLCompiler, since it's overridden in the hll-compiler cheats anyway. This gets us through the build again, without depending on PCT::HLLCompiler.
mikehh kid51: of course, most of our tools would :-} (will have a look at that)
kid51 mikehh: What is rationale for having both lib/Parrot/Docs/POD2HTML.pm and lib/Parrot/Docs/PodToHtml.pm? This seems to create potential for confusion. 15:00
mikehh kid51: I was mainly interested in getting it to work
kid51 mikehh: Will we be using POD2HTML.pm going forward?
mikehh kid51: Pod2HTML will probably be removed 15:01
15:01 fbrito is now known as fbrito|away
kid51 mikehh: Well, I think we should decide one way or the other before doing a merge. 15:01
mikehh kid51: I wanted to do it after the merge, probably causes less problems 15:03
but of course I can look into that 15:05
15:07 Patterner left 15:08 Psyche^ joined, Psyche^ is now known as Patterner 15:15 Matt221 joined
kid51 mikehh: Is there a TT for this in which I can make comments? 15:19
dalek p-rx/nom: 4c967a1 | jonathan++ | src/ (2 files):
Bring in the remaining missing methods from PCT::HLLCompiler.
15:26
p-rx/nom: 7e9d75b | jonathan++ | t/hll/0 (4 files):
A bunch of tests also relied on the ability to set attributes in a type object. D'oh. Corrected.
mikehh kid51: I sent a message to parrot-dev a couple of hours ago, you could comment there 15:28
tadzik wklej.org/id/453568/ -- look, it's funny 15:36
dalek p-rx/nom: ca87742 | jonathan++ | src/Regex/P6Regex.pir:
Fix another case where the type object rather than an instance was being used and needing to store attributes. This gets the regex interpolation tests to run again, and things back to where they were before eliminating PCT::HLLCompiler.
15:37
15:53 whiteknight left
mikehh html_cleanup branch: 15:57
All tests PASS (pre/post-config, make corevm/make coretest, smoke (#2154) fulltest) at 2_11_0-959-gebdd612 - Ubuntu 10.10 i386 (g++-4.5)
that is of course from the branch git_describe 15:58
kid51 mikehh: Commented on parrot-dev 16:01
16:03 Matt221 left
mikehh kid51: the only problem I can see is that fperrad's tool tool/docs/mk_chm.pl - I haven't really looked at that, but it should use the new structure (it still uses the old one) 16:13
dalek p-rx/nom: 3a05d0d | jonathan++ | src/NQP/ (2 files):
Add a class_6m package declarator so classes built using 6model can be tried out without introducing it everywhere just yet.
16:14
p-rx/nom: 2ac9555 | jonathan++ | src/HLL/Compiler.pm:
Turn proccess_args into NQP.
p-rx/nom: 25b6884 | jonathan++ | src/NQP/Actions.pm:
Fix compilation of inheritance. Seems to work just fine for class_6m-s now.
16:24
kid51 afk 16:30
16:40 whiteknight joined 16:48 nopaste left 16:55 nopaste joined 17:11 fbrito|away left
dalek p-rx/nom: 0dbc62c | jonathan++ | src/NQP/Actions.pm:
Replace an (ab)use of .WHAT with smartmatching in the Actions.
17:14
tadzik [16670.837208] perl6[31182]: segfault at 90 ip 00007f690818fcb9 sp 00007fff395826a0 error 6 in libparrot.so.2.11.0[7f69080cb000+1d3000] 17:16
from dmesg. Happens from time to time for the last few days
dalek p-rx/nom: 6993926 | jonathan++ | src/stage0/ (3 files):
Update bootstrap to complete the elimination of PCT::HLLCompiler and to enable use of class_6m in NQP itself.
17:19 kid51 left
plobsing tadzik: do you have any idea what you were doing to trigger the fault at that time? 17:35
17:37 whiteknight left 17:38 fbrito joined
fbrito any GCI mentor here? I have a question about the contest 17:41
tadzik plobsing: it seems purely random to me 17:44
fbrito: go ahead, there are plenty of mentors I believe
dalek rrot: 10d0d39 | fperrad++ | include/parrot/packfile.h:
remove duplicated declaration of do_sub_pragmas()

do_sub_pragmas() is defined in src/packfile/api.c
fbrito I don't feel very comfortable asking for that, but whatever... last month I claimed a task to increase code coverage of Complex PMC by 10% and I have managed to increase it by 20%. I saw that this happened with other students and they all got another task created for them, but I was too ashamed to ask someone to create a task just to me. My question is: is there any chance of having this other task created to me right now or am I a little bit late? 17:45
tadzik oh, that thingy
fbrito: haven't you had your task created just for you back then? I remember a discussion about this, or was that not you? 17:46
plobsing tadzik: sadly there isn't much we can do for you then. without the timestamp you started the parrot process, we don't know the hash seed (I suspect our hash implementation may be broken for some seeds). with address space randomization, the ip and sp provided mean nothing. 17:47
tadzik plobsing: timestamp as in seconds since epoch? 17:48
plobsing tadzik: IIRC, thats the only thing that goes into the seed ATM
tadzik it still segfaults, there's time to investigate 17:49
plobsing checks real quick
tadzik Sun Jan 9 19:47:28 CET 2011
zsh: segmentation fault perl6
that's date; perl6
fbrito tadzik: no, I had not :/ 17:50
tadzik hmm, dukeleto probably remembers the case 17:51
dukeleto: you around?
fbrito tadzik: you can see my completed tasks here: www.google-melange.com/gci/student_...nandobrito
plobsing yep. the only entropy source is the epoch time. src/string/api.c:138 17:52
tadzik plobsing: funny, parrot-nqp seems to work. So it's probably rakudo issue
fbrito (click on last column to order by most recent first and change pagination to 50)
plobsing tadzik: rakudo uses a *lot* more classes. classes use hashes internally.
tadzik ah, I see
fbrito this was the task: www.google-melange.com/gci/task/sho...9193205977 (note that the title is mentioning the wrong PMC) 17:53
tadzik oh, the one that was mine-not-mine
I now remember you asking about the second task 17:54
fbrito irclog.perlgeek.de/parrot/2010-12-15#i_3088959 :D 17:55
dalek p-rx/nom: 8c92b8f | jonathan++ | src/metamodel/how/NQPClassHOW.pm:
find_method should return null if there's no method available, not throw an exception.
17:57
p-rx/nom: c30d699 | jonathan++ | src/ (3 files):
Switch all of the Actions classes to use 6model rather than Parrot's OO (that's HLL::Actions, NQP::Actions, Regex::P6Regex::Actions and NQP::RegexActions). Seems to work out just fine, though it's an easy case: no instantiation, just method calls and single inheritance. But nice it works already!
tadzik fbrito: IMHO you deserve another task, but I'll wait for dukeleto with creating it 17:58
bah, and now perl6 works 18:00
plobsing tadzik: try parrot --hash-seed="some-hex-value" perl6.pbc 18:03
where "some-hex-value" is based on running epoch time through lrand48 once 18:04
tadzik plobsing: I'll try when I catch it segfaulting again, thanks 18:06
plobsing I swear, whoever thought that running a deterministic source through a pseudo-random number generator iteration would be a good idea should have their license to program revoked. 18:07
tadzik plobsing: yeah, that's it it seems
plobsing tadzik: did you find a hex value that fails?
tadzik plobsing: no, but wklej.org/id/453705/ 18:08
hmm
that'd require writing a script trying all the possible values
which will take ages in the current state of Rakudo :) 18:09
plobsing what do you mean? a04810984fe seems to give a failure in your nopaste.
it only takes one
tadzik no, a04810984fe is fine 18:10
> % is the repl launching, then me pressing ^D
18:11 chromatic joined 18:14 hudnix left 18:21 chromatic left 18:25 hudnix joined 18:29 Matt221 joined
fbrito hm... I can't figure out how to run the "pbc_dump" tool 18:36
I keep getting "PackFile_unpack: This Parrot cannot read bytecode files with version 9.4." 18:37
plobsing fbrito: you've either got an old parrot or an old pbc
fbrito duuh
plobsing you should rebuild the pbc using whatever parrot pbc_dump came with 18:38
then pbc_dump should work
fbrito it is now working, thank you. I was running the one installed on my system and not the one that I had just generated 18:39
18:40 theory joined 18:43 rfw joined 18:44 whiteknight joined, whiteknight left 18:50 jan left 18:59 jan joined
fbrito dukeleto: ping 19:13
NotFound hi 19:18
tadzik hey
19:32 Matt221 left, Matt221 joined
fbrito is Jon Gentle or James Keenan here (GCI mentors for the pbc_dump test coverage task)? :D 19:32
sorear Keenan is kid51 19:33
fbrito oh :o
sorear not onine now
fbrito sometimes I feel bad not knowing the real name of people that I meet almost everyday on this channel and that have helped me a lot :/ 19:34
plobsing fbrito: check the CREDITS file
fbrito sorear: thanks, Stefan
ok, Peter
NotFound fbrito: I've been using this nick since 15 years, is real enough for me. 19:37
fbrito 15 years? :o 19:38
your nick is pretty amazing, Pedro
dukeleto fbrito: hola 19:39
fbrito: i saw your question about the Complex PMC task
fbrito (drums beating sound) 19:40
dukeleto fbrito: i think you deserve another task for your complex PMC work, but the Complex PMC could use a few more tests, too :) 19:42
fbrito: i am seeing easy-to-cover stuff in the Complex PMC 19:43
fbrito: is_equal and set_pmc and a few others
Matt221 dukeleto: can you review this: www.google-melange.com/gci/task/sho...7551#c2002
fbrito fbrito: hm, seems interesting. thank you for your attention :) 19:44
dukeleto fbrito: what task did you do before that you did more than the task required ?
fbrito: i remember it, but just wondering which task it was 19:45
fbrito this one: www.google-melange.com/gci/task/sho...9193205977 (the title is wrong :S) 19:46
dukeleto fbrito: ok, i see that you increased it 20% when the task only said 10%. I will create a task for you 19:47
fbrito: you working on a task now?
Matt221: task completed. Nice work!
Matt221 dukeleto: thanks
fbrito dukeleto: yes 19:48
but I am almost done
dukeleto fbrito: only a few hours left! 19:51
It is amazing how many pull requests GCI generated for parrot.git
tadzik GCI was an awesome idea 19:52
dukeleto I think it is safe to say that GCI generated more code that is in master than GSOC did.
rfw: 2 points from 300! 19:56
rfw dukeleto: yep
19:57 Yuki`N joined
Yuki`N How useful would a full SHA2 implementation be for Parrot? 19:58
i.e. SHA256/224/512/384 19:59
dukeleto Yuki`N: it would be pretty awesome and I would buy you a delicious beverage of your choice :) 20:01
tadzik :) 20:02
plobsing md5 and sha256 are the only algorithms commonly used for checksumming, which is why we have them IIUC
Yuki`N Ah.
plobsing but more = better
Yuki`N I might go ahead and properly implement them.
dukeleto Yuki`N: they would be useful for benchmarking against similar algorithms in C and Perl 5, to see how Parrot stands
Yuki`N i.e. Init, Update, Final.
tadzik how effortful is bringing a Parrot code to conform to the Parrot exporting API? So to make the modules present in a Parrot tree usable in any Parrot language w/o a wrapper
plobsing we have an exporting API? 20:03
tadzik I remember hearing that phrase once ;)
Yuki`N Right now the checksumming algorithms need the entire file to be checksummed in memory at once. 20:04
In most C implementations you only need block-size chunks of the data.
tadzik what I mean: there is e.g. runtime/parrot/library/Digest/MD5.pir. But even though Parrot is supposed to have language interoperability we still need to write wrappers to use such libraries in, say, Rakudo
I remember asking about it once and that's when the phrase "exporting api" got in my head 20:05
dukeleto adds a few last-minute GCI tasks to make it interesting 20:11
Yuki`N lol
I feel like.
Writing that SHA2 implementation would be so time consuming.
tadzik so, what defines a library/module to be cross-language in Parrot? 20:12
dukeleto Yuki`N: what about math algorithms, do you enjoy those?
Yuki`N Perhaps. 20:13
I like crypto in some sadistic way though lol.
dukeleto Yuki`N: maybe you would enjoy implementing search.cpan.org/dist/Math-Primality...imality.pm in Parrot
Yuki`N: number theory is the basis of all crypto. You won't get far without it :)
Yuki`N Primality testing, hm.
Very interesting. 20:14
I wrote these algorithms in C# once.
dukeleto Yuki`N: that is my CPAN module that was a GSoC project a few years ago
Yuki`N I was implementing Diffie-Hellman.
20:14 kid51 joined
Yuki`N I'll tackle it, sure. 20:14
I suppose you already have test data.
dukeleto Yuki`N: there is an extensive test suite
kid51 fbrito: You were looking for me?
dukeleto Yuki`N: that cpan module uses the "BPSW pseudoprime" algorithm, but that exists under many names 20:15
Yuki`N: there are links in the docs describing the algorithm
fbrito kid51: yes... you are listed as a mentor of the pbc_dump test coverage task on GCI :) 20:16
kid51 Hmm, I wonder how that came about? Perhaps I clicked an approve button.
Tell me about it.
Link? 20:17
dukeleto kid51: i probably did that
cotto fbrito, ping
dukeleto fbrito: i just pick random names out of my hat
fbrito ahhaha
cotto fbrito, did your question ever get answered?
fbrito yes :)
Yuki`N What is GMPz, anyway.
cotto great 20:18
Yuki`N Is that the same library that we use for BigInt/BigNum?
dukeleto Yuki`N: GMPz is an interface to GMP (a C library) from Perl 5 20:19
Yuki`N: so, yes.
Yuki`N Ah.
dukeleto Yuki`N: GMPz is integers (mathematicians use a Z to denote the set of all integers)
Yuki`N: GMPf is big floats
Matt221: task claim accepted
kapace_: task claim accepted 20:20
Yuki`N dukeleto, I'm just going to copy most of the POD from your perl module.
dukeleto Yuki`N: sure
cotto plobsing, using the date as the seed for hash randomization is lame, but we don't have (iirc) a portable way to get entropy from the system. 20:21
dukeleto Yuki`N: are you done with GCI tasks?
cotto: i have been meaning to work on that. I think I created a TT for that a long time ago.
Yuki`N: i don't think you are in danger of dropping out of the top 10, so I would say you have every right to start hacking on other stuff :) 20:22
Yuki`N I don't know, :P 20:23
kid51 We're getting test failures on Smolder. 20:25
smolder.parrot.org/app/projects/rep...tails/2157
cotto dukeleto, I can't find the ticket. 20:26
dukeleto cotto: did you search for "entropy" ?
Yuki`N dukeleto, How can I make sure that parrot was compiled with GMP support.
dukeleto Yuki`N: look in the t/pmc/bigint.t tests, at the top 20:27
Yuki`N: it is in the parrot config hash
Yuki`N: which you can get at various ways
Yuki`N: looks like the above smolder failure is related to your SHA code
Yuki`N Really? 20:28
I ran make test.
dukeleto Yuki`N: could be a platform-specific thing
Yuki`N: or compiler-specific
cotto dukeleto, there it is. #64
Yuki`N Hmm it's a 64-bit thing. 20:29
I don't have a 64-bit vm available.
kid51 Yes, it's a 64-bit thing
dukeleto cotto: if you want to add some feature requirements to that ticket, it might increase the chances of it happening
plobsing cotto: pulling the "entropy" from the date is fine (for now). putting it through a PRNG to make it "more random" somehow is just plain stupid.
cotto plobsing, I see what you're saying. 20:30
dukeleto GCI ends January 10, 2011, 12:00 AM Pacific Time / 08:00 UTC. 20:31
cotto 11.5 hours
dukeleto less than 12 hours! Get to it, students.
Yuki`N Judging by the failures in rot, as well. 20:32
I'd say the problem stems from an improper implementation of the bit rotation algorithm.
Hm.
kid51 Is there anyone available who can submit a smoke report of master on MSWin32? 20:35
Yuki`N How do I build on windows anyway?
dukeleto, there's a slight problem.
cotto Yuki`N, trac.parrot.org/parrot/wiki/Platforms/Windows 20:36
Yuki`N dukeleto, bigint doesn't have a power-modulus function exposed.
And doing the power normally then applying the modulus doesn't sound like a good idea.
dukeleto Yuki`N: we need a power-modulus function, then. 20:37
Yuki`N Is there an appropriate PIR opcode to use though? 20:38
Making it a method maybe?
I already have activeperl installed...hm. 20:39
I'll work on getting parrot to compile on win32 first. 20:42
I'm running an x86_64 version of windows though. 20:43
dalek rrot: 2488c0d | plobsing++ | src/string/api.c:
add DEBUG_HASH_SEED flag to enable hash-seed-debugging parrot builds
Coke . 20:44
nopaste "mikehh" at 192.168.1.3 pasted "Untracked files after test run" (22 lines) at nopaste.snit.ch/27666 20:45
plobsing tadzik: I've added compile-time-optional debugging of hash seed in 2488c0d. if you are still encountering the issues you described earlier, edit parrot's src/string/api.c and set DEBUG_HASH_SEED to 1 and rebuild parrot (no need to rebuild rakudo). This will give you easy access to the hash seed and allow for reproducable bug reports. 20:46
kid51 Coke: Does a patch I applied yesterday help you with trac.parrot.org/parrot/ticket/344?
mikehh bah - ignore t/src/embed/api.t~ in the above nopaste 20:47
cotto plobsing, why not make it an environment variable and avoid the rebuild? 20:48
plobsing cotto: this was easiest
tadzik plobsing: awesome, thank you
plobsing also I have a branch out already that touches how parrot manages environment variables. I don't want conflicts on merge
dukeleto found 2 more tasks to create 20:49
Yuki`N: GMP already has a powermod function, we just need to provide a way to get at it from Parrot
Yuki`N yeah. 20:50
dukeleto Yuki`N: it will be a method on the BigInt PMC, not an opcode
Coke kid51: building now 20:59
kid51: wow. Simple fix. that bug's been around for a while. good catch. 21:00
kid51++
kid51 It was a simple fix, but I don't claim to understand why Darwin is different from other OSes here. 21:01
But I remember that long ago you mentioned 'otool' to me.
That was helpful here: otoo -L ./parrot 21:02
Also: man dyld
dukeleto plobsing: can you add some docs somewhere about DEBUG_HASH_SEED ? 21:03
dalek rrot: 24c6f3a | jkeenan++ | config/gen/makefiles/root.in:
Correct 'smolder_coretest' target to include 'pbctestfiles', just as we did for 'coretest'.
rrot: c0839da | jkeenan++ | src/string/api.c:
Merge branch 'master' of git@github.com:parrot/parrot
dukeleto added a few more gci tasks
fbrito (I am so addicted to GCI that some times I write "gci checkout -b new_branch" on shell -.-) 21:05
dukeleto fbrito: hah! 21:06
Yuki`N Does anyone have access to parrot build on 64-bit?
plobsing dukeleto: define the "somewhere" and I'll do it
where should "parrot debug tips" go? 21:07
NotFound Yuki`N: me 21:08
dukeleto plobsing: good question. Are other, similar, flags documented anywhere? 21:09
Yuki`N: yep
Yuki`N: i have 64bit linux i can test a patch on, if you need
Yuki`N Let me nopaste a patch. 21:10
nopaste "Yuki`N" at 192.168.1.3 pasted "sha2 patch" (98 lines) at nopaste.snit.ch/27667 21:11
dalek rrot: af9b1ef | (Matt Rajca)++ | t/pmc/packfileopmap.t:
Increased coverage for PackfileOpMap PMC
Yuki`N I'm having trouble configuring parrot on Windows.
auto::sizes fails under visual studio.
vs2010
dalek rrot: 08cce4f | fbrito++ | t/tools/pbc_dump.t:
Add tests to pbc_dump tool

Signed-off-by: Jonathan "Duke" Leto <jonathan@leto.net>
21:13
cotto fbrito, alias gci='git'
problem solved
fbrito hahahahaha, genius!
dukeleto has alias g=git
plobsing dukeleto: a quick ack for DEBUG through src/ shows that such flags tend to be undocumented 21:14
dukeleto makes a sadface
plobsing: perhaps just some POD in the .c file that it lives in, for now? 21:15
plobsing also we do not document anywhere that users should dissable address space randomization when having "random" failures
Yuki`N "random" failures? 21:17
I've had quite a number of those.
plobsing inconsistent, intermittent, etc
they crop up from time to time and tend to dissapear without really getting fixed 21:18
Yuki`N Ah.
plobsing and I'm just foolish enough to chase after them
Yuki`N dukeleto, could you test that patch? 21:20
dukeleto Yuki`N: just saw it
dalek rrot: b0ceaaa | jkeenan++ | config/gen/makefiles/root.in:
Correct description of what 'distclean' currently does.
21:22
dukeleto Yuki`N: i am getting invalid patch errors. Did you copy and paste only part of the patch ?
plobsing wow docs/project/committer_guide.pod is severely outdated 21:24
Yuki`N Pretty sure I didn't. 21:26
Try pulling my master on github into a branch. 21:27
dukeleto plobsing: that might need to be deleted. i think git_workflow.pod supersedes it 21:33
Yuki`N: hokey
Yuki`N: what do you want me to test with that patch? sha tests? 21:35
Yuki`N Yeah, t/library/sha.t
21:37 nwellnhof joined
dukeleto Yuki`N: gist.github.com/772050 21:40
Yuki`N Hmmm.
Curious, does t/dynoplibs/bit.t also fail?
Is there a way for me to build parrot on windows as 64-bit? 21:45
21:45 rurban_ joined
dukeleto Yuki`N: yes, bit.t still fails. the rot tests 21:47
dukeleto goes for a run
Yuki`N Hmmmph.
This is annoying.
I'll download a 64-bit image of Fedora later.
21:48 rurban left, rurban_ is now known as rurban
Yuki`N Wait. 21:48
I found a potential fix.
kid51, smolder.parrot.org/app/projects/rep...tails/2162 21:50
Win32 smoke report. 21:51
fbrito I am having problems trying to test set_bool on Float PMC. I have used "not $P0" but that doesn't seem to call it 21:55
Yuki`N What's a good way to obtain a number with exactly x '1' bits.
i.e. I want to generate 0xFFFFFFFF, or binary 1111 1111 1111 1111.
dalek p-rx/nom: 1146ba7 | jonathan++ | src/HLL/Compiler.pm:
More PIR => NQP and other work to prep HLL::Compiler to work with 6model.
21:56
Yuki`N Or if I wanted say 10 '1' bits, give me 0000 0011 1111 111, 0x03FF.
plobsing Yuki`N: write a loop? 21:57
Yuki`N Ehh, I wanted to avoid writing a loop. 21:58
I guess 64 iterations of x += 2^i won't be too bad.
plobsing Yuki`N: you could hardcode an array [ 0, 1, 2, 4, 8, ... ], but I don't think you'd like that either 22:00
Yuki`N Yeah. :/
NotFound, could you try testing t/library/sha.t and t/dynoplibs/bit.t from my master on 64-bit? 22:03
I've modified the algorithm slightly.
NotFound Yuki`N: What master? 22:04
Yuki`N git://github.com/nol888/parrot
NotFound fbrito: there is no direct way to invoke the set_bool vtable from pir 22:06
dalek rrot: ffb0b0f | plobsing++ | docs/submissions.pod:
add notes on reporting/debugging random failures
22:07
fbrito NotFound: hm, interesting. thank you :). Is there any place where I can see which vtables can be invoked from pir? 22:08
NotFound I'm thinking about creating a dynops file with ops intended for testing purposes.
plobsing fbrito: we have no documentation explicitly listing that, but it is pretty easy to grep through the ops files to find instances (or lack thereof) of certain ops 22:09
NotFound fbrito: I think the only way is to grep the vtable functions in the ops files
Kovensky <+Wlah> lol @ #7 coedmagazine.com/2010/04/12/the-50-...ogle-10-1/ 22:11
dalek TT #1942 created by jkeenan++: src/nci/libffi.c: Throws warnings under various make targets
TT #1942: trac.parrot.org/parrot/ticket/1942
tadzik Kovensky: hehe 22:12
plobsing looks like we'll hit TT #2011 this year 22:13
22:16 kid51 left
cotto Matt221, accepted 22:16
Yuki`N cotto, you wouldn't happen to be on 64-bit would you? 22:18
dalek rrot: f1d51c4 | nwellnhof++ | / (5 files):
[t] Make checkdepend handle spaces between # and include

And fix the newly found dependencies
22:25
NotFound Yuki`N: sha.t pass, bit.t fails 3 tests
cotto Yuki`N, nope 22:26
32-bit both at home and work
Yuki`N Nice I got sha.t to pass. 22:27
bit.t still fails though...hm.
22:37 PacoLinux left 22:44 gcamblin left
fbrito Matt221: why did you give up on the Complex PMC code coverage? Is it impossible? 22:45
Matt221 fbrito: naah, just a bunch of 1-line code paths to test 22:50
fbrito msg dukeleto please take a look on github.com/parrot/parrot/pull/115. Only "set_bool" is missing, but I have no idea how to test it
aloha OK. I'll deliver the message.
Matt221 and I already discovered two dead VTABLESs too
bacek_at_work fbrito, "$P0 = new 'Float'; $P0 = 0; not $P0; ok($P0, 'set_bool')" 22:54
dalek rrot/nwellnhof/platform_src: 59fec7a | nwellnhof++ | / (128 files):
Move platform code from config to src

Compile the files directly instead of building src/platform.c
bacek_at_work aloha, humans, btw 22:58
NotFound Did we still have a svn mirror of the git repo?
bacek_at_work NotFound, isn't it used for TapTinder? 22:59
aloha, taptinder?
aloha bacek_at_work: taptinder is continues integration tool - taptinder.org . For Parrot project running on tt.taptinder.org/ and reporting build failures to #parrot channel as ttbot.
bacek_at_work meh... taptinder is down.
seen mj41
aloha mj41 was last seen in #perl6 11 hours 48 mins ago joining the channel.
bacek_at_work msg mj41 Can we have taptinder back? Even on svn-git mirror? 23:00
aloha OK. I'll deliver the message.
NotFound tt.taptider.org gives me a 500 Internal Server Error
nwellnhof unfortunately, github diffs don't detect renames like git diff with the -M option 23:02
cotto NotFound, you can use github's svn bridge.
NotFound What's the url of that svn mirror?
Matt221 cotto: can you review: github.com/parrot/parrot/pull/116
GCI is getting competitive :D
dalek p-rx/nom: c00a30c | jonathan++ | / (7 files):
Switch HLL::Compiler, NQP::Compiler and Regex::P6Regex::Compiler to use class_6m. In the process, create .pm files for a couple of them (we keep the PIR around too, to combine the various produced outputs). Needs re-configure.
23:04
p-rx/nom: bd0b0fe | jonathan++ | src/HLL (2 files):
Move Parrot HLL compiler init to avoid tickling an initializatin order bug (will track it down tomorrow or so). Gets some of the tests regressed when making HLL::Compiler et al use 6model passing again (down to just 2 regressions now).
NotFound cotto: You mean this? github.com/blog/626-announcing-svn-support 23:05
Yuki`N Can someone review github.com/parrot/parrot/pull/117
dalek rrot: 787fcd8 | fbrito++ | t/pmc/float.t:
[t] Increase test coverage of Float PMC
23:06
rrot: 002711c | cotto++ | t/pmc/float.t:
Merge branch 'gci_float' of github.com/fernandobrito/parrot into fernandobrito-gci_float
cotto NotFound, yes
Yuki`N cotto, I have some fixes for 64-bit platforms as a pull request. 23:08
dalek rrot/nwellnhof/unicode_filenames: d4769a3 | nwellnhof++ | compilers/imcc/ (7 files):
[imcc] Make IMCC slurp whole input files and scan byte buffers.
rrot/nwellnhof/unicode_filenames: 903db1c | nwellnhof++ | / (23 files):
[imcc] Switch to PIO and STRING filenames for all input files
rrot/nwellnhof/unicode_filenames: 241fbb5 | nwellnhof++ | / (7 files):
[imcc] Switch to PIO and STRING filenames for all output files
rrot/nwellnhof/unicode_filenames: 69fabae | nwellnhof++ | src/packfile/api.c:
[pf] Store segment name as Parrot string
rrot/nwellnhof/unicode_filenames: ee7bde1 | nwellnhof++ | / (4 files):
[str] Introduce Parrot_str_to_encoded_cstring
rrot: 4c3d1d0 | cotto++ | t/dynpmc/rational.t:
Merge branch 'master' of github.com/mattrajca/parrot into mattrajca-master
cotto all pending tasks accepted 23:09
Yuki`N, did you test on a 64-bit machine?
Yuki`N I got
NotFound to look over it. 23:10
fbrito cotto: thank you :)
bacek_at_work jnthn, ping. How we can share work on moving PCT to NQP?
jnthn, I've got POST::* mostly translated already. 23:11
jnthn bacek_at_work: In general, code that is in NQP will "just work".
cotto fbrito, ok. I'll merge once NotFound says he's happy.
jnthn (with the new meta-model)
bacek_at_work: Today I've been focusing on HLL::Compiler
bacek_at_work jnthn, ok. So, I can go ahead with PCT stuff without stepping on your shoulders. 23:12
jnthn, correct?
jnthn bacek_at_work: Today I eliminated NQP::HLLCompiler from nqp-rx/nom.
bacek_at_work jnthn, ok
jnthn bacek_at_work: Everything is in HLL::Compiler int he nqp-rx repo now
bacek_at_work: Also switched it to use the new meta-model.
(like, 10 minutes ago :)) 23:13
bacek_at_work jnthn, I did see your commits :)
jnthn bacek_at_work: So I'd leave the Compiler bits
bacek_at_work: I've no plans to work on PAST::Node and PAST::Compiler any time soon.
bacek_at_work jnthn, ok. I'll take care of it :)
jnthn So feel free to dig into that.
bacek_at_work++
Awesome.
bacek_at_work cotto, "Architect" question. Should we split PCT into separate project? Same as nqp-rx. And just bundle snapshot with parrot? 23:14
jnthn From discussion with pmichaud, I *think* his thinking is that it'll all move out of the Parrot repo and bundle a snapshot. 23:15
I suspect that, since there's a meta-model switch here too, the way to do this will be to deprecate the PCT stuff in the Parrot repo and start bundling the new nqp-rx, which contains all of the ported PCT. Maybe renaming the repo or some such.
bacek_at_work jnthn, I tend to agree with pmichaud. We just need good continuous integration tool to properly test parrot+nqp+pct+whatever 23:16
jnthn *nod*
bacek_at_work: I hope to ask pmichaud about these bits at #phasers on Tue
cotto bacek_at_work, that doesn't sound like a bad idea, provided it gets frequent testing.
jnthn Though maybe it's appropriate to discuss in #parrotsketch too as it also impacts Parrot. 23:17
NotFound fbrito: bit.t still fails
bacek_at_work jnthn, agreed.
jnthn OK
23:17 fbrito left 23:18 fbrito joined
jnthn Today is my first day back hacking on nqp-rx/nom after a bit of a break. So still getting back into everything still. :) 23:18
bacek_at_work jnthn, :)
afk # meetings for next 6 hours
5 actually.
cotto bacek_at_work, do you have a 64-bit machine handy to test Yuki`N's changes?
guess not 23:19
bacek_at_work cotto, nope.
Yuki`N Hmmm. 23:20
23:22 fperrad left
plobsing ping NotFound 23:33
NotFound plobsing: pong
23:33 arnsholt left
plobsing I'm having issues with 'WARNING: class OMeta not found at compile time 23:34
'
how can I make those go away?
NotFound plobsing: the only way for a now is using new [ ... ] 23:35
plobsing what about inheritance?
class A : OMeta { } // triggers the warning too 23:36
NotFound Same way: class Derived : ['Base'] {}
This is intended for non-winxed classes, but is the only way to avoid the warning until I develop a mechanism for import/include/introspect/whatever 23:37
plobsing that's an acceptable way of doing things 23:39
NotFound Yes, but I'd prefer to distinguish winxed classes for oters. Maybe I just add an 'extern class' statement. 23:40
plobsing I was also thinking predeclaration 'class A.B; 23:41
NotFound I'm also considering that, but like this: namespace A { class B; } 23:42
23:43 arnsholt joined
plobsing that could get unwieldy if you start having longer class names 23:43
org.parrot.Getopt.Long
or deeper heirarchies rather 23:44
NotFound I think that as short term fix the extern class will be better, to not interfere with the stable parsing paths. 23:46
Will think about it tomorrow. 23:47
plobsing thanks. that will make Ωη tests emit only Test.More messages
NotFound The svn github interface fails for me, with a problem already reported and supposed to be fixed :(
23:48 mikehh left