Parrot 3.5.0 "Menelaus" released | parrot.org | Log: irclog.perlgeek.de/parrot/today
Set by moderator on 27 June 2011.
00:03 preflex left, logie left 00:06 preflex joined
cotto_work overall, it looks like a ~2.38% increase in performance on a simple looping Perl 6 script 00:07
dalek rrot/hllmap_fixed: 8b86b37 | cotto++ | / (2 files):
poke directly into the hll_map for an additional ~.5% performance bump
00:08
rrot/hllmap_fixed: 104b3c2 | cotto++ | src/hll.c:
better variable name for the array that maps core types to HLL types
kid51_at_dinner whiteknight: Please close trac.parrot.org/parrot/ticket/1682 00:16
00:16 kid51_at_dinner is now known as kid51
kid51 re: vtable_substr 00:16
afk
00:16 kid51 left
whiteknight done 00:18
dukeleto cotto_work: that sounds quite nice 00:24
cotto_work dukeleto: I'm happy. 00:28
dalek TT #1682 closed by whiteknight++: VTABLE_substr is never used 00:30
TT #1682: trac.parrot.org/parrot/ticket/1682
fivetonsflax did you get my email, cotto?
cotto_work fivetonsflax: It's likely. I'm heading home soon, at which point I'll check. 00:34
fivetonsflax: what timezone are you in? 00:36
dalek rrot/soh-cah-toa/hbdb: 54eac19 | soh_cah_toa++ | docs/hbdb.pod:
Made further additions to the documentation in docs/hbdb.pod
00:40
00:43 rurban_ joined
fivetonsflax cotto: US/Pacific 00:44
cotto_work fivetonsflax: that's good. same here
00:45 theory left, rurban left, rurban_ is now known as rurban
cotto_work soh_cah_toa: nobody's going to fault you for not having an ascii art cat in your docs 00:49
00:51 contingencyplan left 00:56 mjc joined
cotto_work Is there any reason not to merge NotFound++'s branch before the code/feature freeze? 00:57
dalek rrot-libgit2: 83dfe79 | dukeleto++ | src/Git2/Common.winxed:
Start filling out the nested structure of a git_repository to create a StructView PMC for it
01:08
whiteknight cotto_work: if all tests pass, and if it doesn't break rakudo or anything, I'm +1 01:09
dukeleto msg plobsing can you tell me if I am on the right track with github.com/letolabs/parrot-libgit2...83dfe797e4 ? There are lots of nested structs in libgit2 01:10
aloha OK. I'll deliver the message.
cotto_work whiteknight: wfm. I'll give it some testing when I get home and merge it, barring objections. 01:12
01:23 kid51 joined, whiteknight left
kid51 cotto_work: Which is the 'notfound' branch you were referring to. 01:23
?
01:23 mjc left
kid51 msg whiteknight re t/pmc/nci.t See recently closed tickets trac.parrot.org/parrot/ticket/2117 and trac.parrot.org/parrot/ticket/2116 and trac.parrot.org/parrot/ticket/1979. At the point we closed these, Smolder was down so we probably couldn't assess impact of patches on Windows. 01:26
aloha OK. I'll deliver the message.
kid51 seen Coke? 01:30
aloha Coke was last seen in #parrot 4 hours 3 mins ago saying "The commit looks reasonable, anyway. sorry about my confusion about where it landed!".
kid51 Coke ping
cotto kid51, hllmap_fixed 01:40
01:42 benabik_ joined, benabik left, benabik_ is now known as benabik
Coke pong 01:47
kid51 Coke: Do you want to comment further on trac.parrot.org/parrot/ticket/840 ? 01:48
Coke checking...
nope. you win! ;)
kid51 Closing. 01:49
benabik kid51++ # Ticket closing machine
cotto fivetonsflax, I need to apologize for my response. I feel like I was sarcastic and dismissive in response to a perfectly reasonable request from you. 01:50
benabik nqp/t/p6regex/01-regex.t seems to be hanging after 331 tests on Parrot master. 01:53
(Also Darwin/x86)
cotto fivetonsflax, thanks for the comments on the spec. Everything you pointed out was indeed a goof of some kind. I'll be fixing them shortly. 01:54
fivetonsflax++
benabik Good news is that there appears to be no memory leak. Just sitting and spinning. 01:55
cotto well, almost everything. 01:56
dalek rrot/hllmap_fixed: 69c22e4 | jkeenan++ | config/gen/makefiles/root.in:
Typographic cleanup only.
rrot/soh-cah-toa/hbdb: 79ab026 | soh_cah_toa++ | src/hbdb.c:
Added additional calls to mem_gc_free() in hbdb_destroy() to prevent memory leaks. Not sure if the NULL assignments are actually necessary but it's better safe than sorry.
01:58
benabik hllmap_fixed?
cotto benabik, that's a branch NotFound started in response to a potential optimization that jnthn suggested. 01:59
It uses a FIA for HLL maps instead of a hash and shows about a 2.4% improvement for a simple for loop in Rakudo. 02:00
kid51 cotto: I don't object strongly to that going in before 3.6 if fully tested, including testing on all HLLs. 02:02
cotto kid51, great
kid51 cotto: But from this point forward, I would like focus to be on fixing tests on Windows.
cotto kid51, that's a good idea
kid51 In other words, any commits to directories like src/ should be very focused on getting us testing cleanly on Windows. 02:03
cotto fivetonsflax, set is different from copy_mem. set changes what's in a register, copy mem writes to the address a register points at
*copy_mem
kid51 I am getting a test failure in t/src/embed/api.t when I do "all g++/optimize" build 02:04
dalek rrot/m0-spec: 646d461 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
fix a batch of goofs found by fivetonsflax++
kid51 This in hllmap_fixed branch -- but I got an error in master this afternoon with same configuration.
TT #840 closed by jkeenan++: t/op/io.t fails on win32 02:05
TT #840: trac.parrot.org/parrot/ticket/840
nopaste "kid51" at 192.168.1.3 pasted "t/src/embed/api.t: failure with all g++, optimized build" (20 lines) at nopaste.snit.ch/59801
"kid51" at 192.168.1.3 pasted "t/src/embed/api.t: Failure with all g++, optimized build" (27 lines) at nopaste.snit.ch/59802 02:09
cotto kid51, what do you mean by "all g++"?
same failure here 02:11
Coke cotto: presumably with configure.pl --cc=g++, --link=g++, etc. 02:16
kid51 Opened trac.parrot.org/parrot/ticket/2149
duke was working in that file on Saturday; hope he can fix 02:17
plobsing ~~
jay plobsing: remember that thunk issue with the complex signature? 02:18
dalek TT #2149 created by jkeenan++: t/src/embed/api.t 02:20
TT #2149: trac.parrot.org/parrot/ticket/2149
Coke oh, hey. Yah, he really should make sure that file passes before he gets his grant $$. :P 02:21
fivetonsflax cotto: if set sets what's in a register, then I found another buglet in m0-spec. :-) 02:22
plobsing jay: yes. are you looking to resolve it?
jay Upgrading from 3.3.0 to current and/or upgrading libffi fixed it -- the code was right. Making progress.
cotto fivetonsflax, do tell
jay Maybe bubaflub and I get the thunk generation approach working sooner or later, removing the libffi dependency. 02:23
fivetonsflax it says:
set - set a register to a value
Set *$1 to whatever is in *$2
should the asterisks be deleted?
also, dumb question: why did dalek increment me? 02:24
plobsing jay: if you'd like to know whether it was the upgrade or libffi, you can run ./parrot_config has_libffi to determine whether parrot has identified your libffi correclty
cotto fivetonsflax, I gave you karma in a commit message
karma fivetonsflax
aloha fivetonsflax has karma of 2.
jay Just a sec, I'll try that on the old tree.
fivetonsflax oh, neat; thanks.
moderator Parrot 3.5.0 "Menelaus" released | parrot.org | Log: irclog.perlgeek.de/parrot/today | #parrotsketch meeting Tuesday 1930 UTC 02:24
jay AH: nope, it didn't. Easier still. Interesting, I actually did have libffi installed, but didn't have the libffi-dev (which I added). 02:26
cotto kid51, looks like that's a fairly straightforward problem with the test. 02:27
plobsing I don't recall how parrot detects libffi, but I suspect you need the dev package for it to work
jay That must be it. Should I propose a note on that somewhere (like the main README which has the installation instructions)? 02:28
plobsing jay: you should probably communicate that requirement somewhere. how you do that is up to you and how you expect to interact with your users. 02:29
dalek rrot/soh-cah-toa/hbdb: c446c23 | soh_cah_toa++ | src/hbdb.c:
Added "short_help" field to hbdb_cmd_t so that the one argument form of "help" displays a short description of each command.
02:30
rrot/soh-cah-toa/hbdb: 3bfaed0 | soh_cah_toa++ | src/hbdb.c:
Added handling of two argument form of "help" command.
jay Ok, willdo. Wasn't sure how common a problem this might be with other people. Maybe my bad luck. 02:31
cotto That test is lta. 02:32
fivetonsflax whoops, found another:
div_n - divide two numeric registers
Treat *$2 and $*2 as integer or floating-point values, [...]
bubaflub jay: i'm checking at build time if Parrot has been configured with libffi, for what it's worth
cotto dukeleto, ping
bubaflub jay: right around github.com/bubaflub/parrot-gmp/blo...winxed#L72 02:33
fivetonsflax that's two for the price of one, in fact :-)
jay bubaflub: yes, I saw that. Spent quite a bit of time in various places of your tree, actually. Thx
bubaflub jay: haha, great. by the way, this week for my project i'm going to focus on generating those NCI thunks; i'll have a write up for you assuming life doesn't interfere hopefully by Sat. 02:34
cotto fivetonsflax, what a strange typo 02:35
fivetonsflax you can find a few more by finding "$*" within the document.
jay Would be very interesting. I'm writing a perl script to do my dirty work right now...
dukeleto cotto: pong 02:36
cotto dukeleto, the Parrot_api_get_exception_backtrace test in t/src/embed/api.t is wacky. Can you fix it to not pass Parrot_str_t to printf("%s",...);
dukeleto, it also printfs backtrace twice, which doesn't seem like dtrt 02:37
(and doesn't check its output)
dukeleto cotto: yes, meant to fix that. The printfs can just be removed and the test will pass
cotto dukeleto, shouldn't it check some kind of output? 02:38
dukeleto cotto: the test didn't before I got to it, but it would be nice if it did
nopaste "plobsing" at 192.168.1.3 pasted "Common.winxed" (53 lines) at nopaste.snit.ch/59803 02:39
plobsing dukeleto: you are somewhat on the right track. nopaste above gives how I would do it. 02:40
dalek kudo/nom: f84edb1 | Coke++ | t/spectest.data:
add a failure reason.
rrot/m0-spec: 6085d65 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
fix another batch of typos, courtesy of fivetonsflax++
plobsing important things to note: (1) 'git_odb *db' does not qualify as a nested struct, it is a struct pointer, (2) nested structs are represented by buffers, which use the sized datatype, not the struct datatype, (3) bits can be represented by the uint1 datatype (also its alias 'bit') 02:42
cotto dukeleto, fixed 02:49
dalek rrot: 5718bb9 | cotto++ | t/src/embed/api.t:
fix an embed API test
website: bubaflub++ | Parrot-GMP: VTABLE Overrides complete 02:52
website: www.parrot.org/content/parrot-gmp-v...s-complete
kudo/nom: e4f9e45 | Coke++ | t/spectest.data:
minor test failure reasons updates.
02:53
kid51 hllmap_fixed branch make test PASS on darwin/ppc: smolder.parrot.org/app/projects/rep...ails/17479 02:59
02:59 kid51 left
dalek TT #2149 closed by jkeenan++: t/src/embed/api.t 03:07
TT #2149: trac.parrot.org/parrot/ticket/2149
dukeleto cotto++ 03:09
cotto It makes me sad that the test passed on the C build. 03:10
dukeleto cotto: yeah, i always develop on c++ now because of stuff like that. 03:11
03:17 lichtkind left
benabik makes g++ his default build 03:18
fivetonsflax cotto, looks like you did some rewriting on "hello, world". 03:21
cotto fivetonsflax, yes. I realized that that code hadn't been updated in a while. 03:22
fivetonsflax Cool. The comment still says "$I0 is 0", but now at least all the opcodes you're using are defined. 03:24
So -- how can I help you move the ball forward? Typo hunting is fun and easy, but not, I think, all that meaningful in the scheme of things.
cotto A lot of the work has to do with finding and plugging holes in the functionality of M0. When it's complete, it should be possible to do anything that C can do in M0. 03:27
aloha, m0 todo?
aloha cotto: Dunno.
cotto aloha, m0 todo is gist.github.com/1019986
aloha cotto: Okay.
fivetonsflax interesting. 03:28
cotto that's the list of things that remain to be done.
dalek rrot-libgit2: bed9503 | dukeleto++ | s (2 files):
Fix a syntax error in setup.winxed and correct the path to our source files
03:31
cotto fivetonsflax, I'm using that gist primarily as a way to keep track of what I need to do, but you're welcome to ask questions and jump in if anything intrigues or makes sense to you. 03:35
fivetonsflax cotto, I'm reading the discussion of pointers linked from there. The parts I understand are interesting. 03:37
seems to be largely about m1, though 03:38
cotto fivetonsflax, yes but it's also important that M0 support whatever mole needs. 03:39
(mole a.k.a m1)
fivetonsflax nods
so if I understand this right ... 03:40
m1/mole is to take the place of something called PIR?
which is ... taking a wild stab here ... Parrot Intermediate Representation? 03:41
soh_cah_toa fivetonsflax: have you read the m0 glossary?
cotto not quite. mole will take the place of the majority of C as it's used to implement Parrot's internals
soh_cah_toa it clears up a lot of confusion
cotto PIR will continue to be supported as-is, though the underlying implementation will be in mole (therefore M0) rather than C. 03:42
fivetonsflax aloha, m0 glossary?
aloha fivetonsflax: I have no idea.
cotto soh_cah_toa, are you referring to the beginning of the m0 spec?
soh_cah_toa cotto: it's a gist. actually, i think it's called "glossy" which i assumed was short for glossary 03:43
cotto soh_cah_toa, ah. "glossy" is short for "glossy brochure"
soh_cah_toa fivetonsflax: gist.github.com/1022340 03:45
fivetonsflax thank you
cotto aloha, m0 glossy?
aloha cotto: m0 glossy is a brief self-contained glossy brochure-like introduction to M0 or gist.github.com/1022340 (draft)
fivetonsflax glossy refers to PIR as built directly on m0 03:46
i.e. as an example of something which could be called m1 03:47
is that conception outdated?
cotto I'd say so. The more M0 I write, the more I want mole to become a thing. 03:48
fivetonsflax where mole is something which takes the exclusive role of m1 and bumps everything else, PIR included and especially, up to m2. 03:49
is that it?
cotto not necessarily exclusive, but yet 03:50
*yes
It'll be the first thing at the M1 level.
There may or may not be others.
dalek rrot-libgit2: d8d7c2f | dukeleto++ | t/harness:
Fix the path to the tests in our harness
03:51
fivetonsflax and the last Q/A in the glossy -- are you saying you're going to write a C-to-mole compiler to allow Parrot guts to compile unmodified or at worst slightly modified? 03:52
cotto fivetonsflax, my usage of the word "template" there caused someone else confusion too. I don't anticipate a C to M0 compiler. The translation from C to mole (or whatever language compiles to M0) will be a manual process. 03:54
fivetonsflax phew.
cotto Neither option is especially attractive, but writing a C compiler sounds harder than reimplementing existing code in another langauge. 03:56
fivetonsflax hence my "phew"
cotto yup
03:58 theory joined
fivetonsflax so is mole to look more like an HLL and less like disassembled bytecode? 03:59
and ... pardon me if this is a dumb question, but why can't PIR be mole? 04:00
I figure if I can get good answers to these questions out of you, I can write you a patch against the glossy to document your current thinking.
and if I can't get good answers, then you'll know where you have some more thinking to do. 04:01
cotto so, win/win
mole will be about as high-level as C 04:02
I'm not sure what you mean by PIR being mole.
fivetonsflax what I mean is -- mole's an intermediate representation, right?
cotto no, mole is a language that we'll be writing directly. 04:03
fivetonsflax ah, and that's what you'll be hand-translating the C code into?
cotto exactly
fivetonsflax so Parrot will be written in mole
cotto substantially 04:04
Some important systems like the runloop, GC and ffi will have to stay in C.
fivetonsflax and you're implementing m0 in perl5? 04:06
I guess that's just a prototype? Do you know what you'll use for a final reference implementation?
cotto That's the prototype we're building to shake out bugs in the spec and demonstrate that it's viable.
C
soh_cah_toa cotto: regarding exceptions, have you considered using multiple return values? 04:14
like lua w/ the pcall()
sorear oops, I forgot to write mole yesterday 04:15
cotto soh_cah_toa, I think it will naturally fall out of the use of macros (or composed ops) for control flow. 04:17
soh_cah_toa ok cool 04:18
04:18 Kulag left
dukeleto blarg. PL/Parrot doesn't seem to even compile anymore due to name conflicts in Postgres internals and Parrot internals 04:19
04:19 Kulag joined
sorear cotto, how reasonable would it be to prototype mole using something other than C? 04:19
cotto sorear, why?
sorear dukeleto: are you statically linking both? have you tried using -fvisibility?
cotto: trying designs without having to deal with things like "reimplementing hash tables" and "ad-hoc debugging code" 04:20
cotto sorear, I'm fine with that. C sucks for prototyping.
soh_cah_toa i thought perl 5 was the prototype and c would be the final implementation? 04:21
cotto soh_cah_toa, mole, not M0 04:22
soh_cah_toa gah, so many m's and 0's
dukeleto soh_cah_toa: no, i will rtfm about that right now
04:24 Drossel joined
cotto soh_cah_toa, I could have called it moo. ;) 04:24
fivetonsflax mo' m0, mo' problems
soh_cah_toa ha!
fivetonsflax (there's a high-school econ joke in there too.)
04:25 Kulag left
dukeleto ... mo C, mo problems ... 04:26
04:30 Drossel left, Kulag joined
cotto dukeleto, do you have a fork of the m0 glossy? apparently fivetonsflax is planning on having some feedback. 04:31
dukeleto cotto: nope, i have nothing 04:36
fivetonsflax my first intention is to write a paragraph to clarify the existence and role of mole.
cotto sorear, ooc, how are you thinking about prototyping mole? 04:39
fivetonsflax, good plan 04:40
dukeleto sorear: this is what I am dealing with: github.com/leto/plparrot/issues/35 04:43
sorear cotto: I hadn't fully decided 05:02
05:18 contingencyplan joined 05:22 fperrad joined 05:32 contingencyplan left
soh_cah_toa cotto: i just got the "run" command to work :D 05:45
which means that "continue" half works
soh_cah_toa could not be any happier 05:46
ah...right at the perfect spot to call it a day 05:47
05:48 soh_cah_toa left 06:19 preflex left 06:22 preflex joined 06:28 mj41 joined 06:41 plobsing left 06:51 mj41 left 07:02 theory left 07:38 mj41 joined 08:18 benabik_ joined, benabik left, benabik_ is now known as benabik 08:43 rurban_ joined 08:45 rurban left 08:46 rurban_ is now known as rurban
dalek kudo: aeb12bb | moritz++ | build/Makefile.in:
"git fetch" in t/spec, because it might be too old know about revision a14ba49
08:50
08:51 ligne left 09:25 ligne joined 09:39 mikehh joined
dalek rrot: ff85543 | mikehh++ | src/dynext.c:
fix codetest failure - trailing whitespace
09:43
09:43 dngor left 09:59 contingencyplan joined 10:02 daniel-s left 10:06 contingencyplan left 10:14 daniel-s joined 10:20 daniel-s_ joined, daniel-s left 10:25 daniel-s__ joined, daniel-s_ left 10:30 _daniel-s__ joined 10:32 daniel-s__ left
mikehh t/pmc/packfileview.t is failing in make corevm/make coretest - passes make test after make world 10:35
10:36 daniel-s joined
mikehh t/pmc/packfileview.t - Failed test: 5 - Non-zero wait status: 11 - Parse errors: Bad plan. You planned 8 tests but ran 5. 10:37
10:37 _daniel-s__ left
mikehh that looks like a Segfault - something missing dependency wise 10:38
10:41 daniel-s_ joined, daniel-s left 10:46 daniel-s__ joined 10:47 daniel-s_ left 10:51 _daniel-s__ joined 10:52 daniel-s__ left 10:57 daniel-s joined 10:58 _daniel-s__ left 11:02 daniel-s_ joined 11:03 daniel-s left 11:06 ambs joined 11:07 daniel-s__ joined 11:08 daniel-s__ left 11:10 daniel-s_ left
mikehh t/pmc/packfileview.t FAILs in make corevm/make coretest 11:10
all other tests PASS (pre/post-config, make corevm/make coretest, smoke (#17502), fulltest) at 3_5_0-168-gff85543
Kubuntu 11.04 amd64 (g++)
11:21 SHODAN joined 11:25 JimmyZ joined 11:36 PerlJam left, tadzik left, Util left, pmichaud left 11:40 mtk left 11:46 mtk joined, ambs left, PerlJam joined, tadzik joined 11:47 Util joined, pmichaud joined 11:56 daniel-s joined 11:59 ambs joined 12:00 daniel-s_ joined 12:02 daniel-s left 12:05 daniel-s__ joined 12:06 daniel-s_ left 12:10 _daniel-s__ joined 12:11 _daniel-s__ left 12:13 daniel-s__ left, daniel-s joined 12:18 daniel-s_ joined 12:21 daniel-s left 12:24 daniel-s__ joined, daniel-s_ left 12:25 smash joined
smash hello everyone 12:25
12:33 whiteknight joined
whiteknight good morning, #parrot 12:34
whiteknight is running smoke on win64 again 12:38
the results should be a little better than yesterday 12:39
12:44 bluescreen joined 12:46 daniel-s__ left 12:47 daniel-s joined 12:48 daniel-s left 12:50 PerlJam left 12:52 PerlJam joined
bubaflub ~ 13:07
whiteknight ah, okay. I've figured out why t/library/nciutils.t is failing on windows 13:08
tadzik hi bubaflub
bubaflub hi tadzik. how's the project going?
tadzik very nice. I've implemented tables recently, which was probably the toughest part of the project so far. Everything's progressing nicely :) How is yours? 13:10
bubaflub Sounds great! Mine is doing well - slightly ahead of schedule. 13:11
13:11 dngor joined
tadzik cool :) 13:11
I've had a little bit of blockers on my way recently, mostly the serialization stuff and the infamous "bouble bacon" bug 13:12
erm, * double 13:13
13:13 daniel-s joined, daniel-s left
moritz luckily pmichaud and jnthn__ were helpful there... still it costed time 13:13
tadzik yeah 13:14
it was one funny experience too :)
jnthn__ tadzik++ was really the first consumer of the SC stuff besides the original implementor :) 13:15
jnthn__ looks forward to implementing the full-blown serialization 13:16
bubaflub reminder for GSoC people - the mid-term evaluations are due by the end of this week.
tadzik jnthn__: I wrote a plenty of helpers for this in some recent commit of mine
subs like serialize_array(), serialize_object(), which would probably be removed once we have it 13:17
jnthn__ yeah
the real thing will probably involve the reprs helping out
dalek TT #2148 closed by whiteknight++: t/pmc/nci.t fails on windows 13:24
TT #2148: trac.parrot.org/parrot/ticket/2148
whiteknight what's the double-bacon bug? 13:25
tadzik my $a = Array.new("bacon"); say $a printed "bacon bacon" 13:26
if the Array was reified by something external it was reified twice, or something of this sort
dalek rrot: 7a695c0 | Whiteknight++ | t/dynpmc/os.t:
t/dynpmc/os.t passes all tests on win32, so remove TODO marker
tadzik pmichaud++ was able to fix it quite quickly
moritz but I have to say that "double bacon bug" is quite a cool name, compared to most other software bugs :-)
whiteknight msg plobsing when you get a chance can you look at TT #2150? passing PMCNULL as the first arg to dlfunc creates problems because windows can't really (that I can find) duplicate the behavior on linux. 13:31
aloha OK. I'll deliver the message.
dalek TT #2150 created by whiteknight++: t/library/nciutils.t fails on windows 13:40
TT #2150: trac.parrot.org/parrot/ticket/2150
13:43 plobsing joined 13:57 daniel-s joined 14:02 daniel-s_ joined 14:03 daniel-s left 14:04 daniel-s_ left
whiteknight I'm going to submit another smoke report for the platform 14:05
14:06 daniel-s joined 14:08 daniel-s_ joined
jay mmm... bacon... good morning, #parrot! 14:11
14:12 daniel-s__ joined, daniel-s left
whiteknight good morning jay 14:13
14:14 daniel-s_ left
jay morning whiteknight! 14:14
14:15 daniel-s__ left
whiteknight how are you doing today? 14:15
14:16 hercynium_ joined
jay Great (I think). Exploring bubaflub's stuff. As I understand it, the GMT thingy is a 'package'? Is a 'package' technically a kind of HLL, but designed for the purpose of providing the low-level bindings? 14:16
whiteknight package? I'm not sure what that word would mean. HLL is typically only used to separate out semantics for different programming languages, not language-neutral libraries like GMP 14:17
GMP probably just uses a regular namespace to organize itself under the generic "parrot" HLL 14:18
bubaflub jay: not exactly - i have low level (PIR) bindings to all of the functions in GMP then i have a more Object Oriented wrapper in Winxed for the Integer functions
jay Ah, then my memory is fuzzy. I see now that the term 'package' was used at the top of the .nci files... not a parrot term. 14:19
whiteknight yes, our terminology needs to become much more consistent in many places
jay bubaflub: good morning! (should have said that, first...) 14:22
bubaflub jay: that is correct - i've namspaced all my PIR binding functions
jay: though i doubt it will clobber any others, i'd rather not put everything into the global namespace
jay bubaflub: does your setup.pir actually generate setup.winxed? 14:23
bubaflub jay: well, that's not *entirely* true - the GMP Integer functions do go into the global namespace - but that's because that's how the C library works
jay: all of the PIR included in the repo is generated from the corresponding Winxed files
jay So I need to look up .annotate 14:24
bubaflub jay: annotate is pretty general - allows you to just to store some value per key 14:25
whiteknight .annotate just includes some metadata at certain places in a file. It's mostly used for things like associating file/line information in generated files
bubaflub jay: in generated PIR from winxed, annotate will tells us what line from the original Winxed source a line or several lines of PIR correspond to
jay AH. Thanks. I had been guessing that the PIR was generating the winxed file and that .annotate was like a write... 14:26
14:27 Coke left, Coke joined
bubaflub jay: nope. I use Winxed because the syntax is a bit cleaner and OO stuff is *much* easier. you can generate pir from winxed by running `winxed -o output.pir -c input.winxed` 14:27
jay bubaflub: and I hadn't looked at the winxed (trying to avoid looking at yet another language). I see now.
whiteknight Winxed is highly inspired by things like JavaScript and C++. It should be readable if you have background in either of those 14:28
jay Interesting. I was about to write a perl script to generate a pir file. Would probably suffice for a basic working version, but in the long term might be a waste of time. 14:29
bubaflub jay: one of my scripts, in bin/gmpdoc2winxed.pl does something simliar - it reads the GMP docs (as a single file of HTML) and generates basic the Winxed class 14:30
14:30 autark joined
NotFound whiteknight: and C# too 14:32
whiteknight oh, okay
NotFound The modifier syntax is borrwed from C# attributes 14:33
jay Hmm... so I have a script that parses the GMT header files together with the output of 'nm', giving me the information I need for the function signatures. Productive day. Maybe I should stop coding and spend more time thinking about the next steps. Looks like I have a good example to consider following in GMP.
correction... first line, GMT should have been GSL.
dukeleto ~~ 14:35
jay: great to hear 14:36
bubaflub: the nested structs in libgit2 are FIERCE
14:37 daniel-s joined
bubaflub dukeleto: i saw that - if you never need to poke at the guts of the struct, you might be able just to get away with a PTR 14:37
(that's how i dealt with the GMP Random struct)
jay: yeah, parsing the header is always tricky as each project does it a bit differently. but once you've got your function signatures, you can get an NCI def which gets you PIR bindings. 14:38
14:38 PacoLinux left
dukeleto bubaflub: hmm. Sounds interesting, but I am assuming that when I create a new git_repository object, some initialization code will want structs to actually be structs, or bad things will happen 14:38
jay dukeleto: sorry I'm so slow. But I think I can get this GSL thing going, anyway. Maybe even finished. 14:39
dukeleto bubaflub: also, libgit2 headers are harder to parse, so my nci file is still LTA
14:42 PacoLinux joined
dukeleto jay: no apologies needed. Work at whatever pace keeps you from burning out. 14:45
cotto ~~ 14:46
dukeleto jay: "finished" is a big word. I started hacking on the Math::GSL perl module many years ago, and it still isn't "finished"
jay lol fair enough. Ok, modest goal: finished enough so I have access to all of the statistics bindings so I can use them in NQR.
dukeleto jay: some parts of GSL are very easy to bind to (stuff with simple function sigs). Some is very hard (wacky function sigs) 14:47
jay: exactly which stats bindings? CDFs? PDFs? Others?
bubaflub dukeleto: yeah, that's true. my random struct was a unique case - there is a unique struct and then type itself is #defined as an 1 item array. that's why i can fudge my struct.
jay dukeleto: all the statistics bindings are easy, yes things like CDFs and PDFs and random number generation.
I can see why others would be more difficult, though. 14:48
bubaflub jay: passing things by reference require some extra care, and i haven't done bindings for functions with varargs yet.
jay "easy" probably means "easy for guys like you" and "I think I can do it and will learn a lot in the process."
dukeleto jay: yes :) 14:49
jay: pdf, cdf and special functions are the simplest subsystems. RNGs are slightly harder because then you need to deal with some structs
jay: also, special functions come in two flavors, "plain" which just returns a number, and "result" which returns a result struct with error/accuracy information 14:50
jay: you can get away with just the plain version, probably
jay: when you are bored with stats functions, try for the FFT stuff :) I still need to make those work in Perl 5. 14:51
tadzik huh, I seem to get compilation error on parrot mater 14:52
wklej.org/id/560947/
dukeleto jay: i didn't have anybody to help me with Math::GSL. I had to reinvent many a wheel. You have bubaflub++ and me to guide you :)
jay I think I'll be better off ignoring this for now if it isn't an issue in the statistics functions. AH: I see now that the random number generation stuff is not inside statistics. Good to be aware of, though, thanks. 14:53
dukeleto tadzik: does that persist after a "git clean -fdx" and a reconfig ?
tadzik: make sure you don't have any files laying around that you want, of course
jay: yes, there is rng and qrng in gsl 14:54
jay: is your code on github yet?
jay: we publish early and often. "publish or perish" is taken very seriously in our circles :)
tadzik dukeleto: seems that make clean fixed it 14:55
dukeleto tadzik: yeah, partial recompiles occasionally will have gremlins. It is the price we pay for progress.
jay github.com/NQRCore. I hope my ex-grad student Mike will be helping on some things eventually, but at the moment everything here is my fault.
dukeleto jay: congrats! the first step is accepting fault ;) 14:56
jay Coding with a sense of humor is much better for the ego than taking it too seriously. 14:57
dukeleto jay: very cool! you have a github org. would you like for commits in those repos to be announced in here?
14:57 logie joined
jay Nah, give me a few days. !_) Thanks, though, I will at some point fairly soon. 14:58
dukeleto jay: don't be shy. We are all very excited that you are developing on top of parrot, and announcing commits in here helps everyone see activity and make suggestions. But of course, when you are ready. 15:00
jay: when you are ready. On each github repo, go to: Admin -> Service Hooks -> Post-receive URLS : then add host04.appflux.net:5000/dalek?t=magnet,parrot 15:01
jay: my parrot-libgit2 project isn't even close to functional, but I still announce commits in here, just for reference :) 15:02
jay I'd be pretty happy if I had the binding for GSL:statistics done in GSL and working in NQR.
That is, a 'stable' master that isn't silly and doesn't barf. 15:03
Right now, it's silly and barfs, two for the price of one.
whiteknight it's easier to do them together 15:04
dalek rrot: 729a5d6 | NotFound++ | t/src/embed/api.t:
main must return
dukeleto jay: yep. parrot-libgit2 is quite barfy right now as well. libgit2 has about 17 levels of nested structs that parrot-libgit2 has to understand before a single function call works
bubaflub dukeleto: but once that's done...
dukeleto WORLD DOMINATION 15:05
15:05 dmalcolm joined
dukeleto i think gsoc midterms are going on now 15:06
I should be on top of that.
whiteknight oh yes, I think we should send out an email about that
moritz aye, you should :-)
NotFound Is a wonder that imcc even works. I've just located a bunch of dead code. 15:07
whiteknight which code? 15:08
15:09 jsut joined
NotFound push_namespace, pop_namespace, the member namespace_stack in _imc_info_t 15:09
And the place that checked that such member is not null, because is alway null. 15:10
And some unneeded string copies based on that 15:11
plobsing dukeleto: I'm not sure if you've seen my pull-request on parrot-libgit2. turns out you don't need to implement all of the structs (git_repository included) because they are implementation details
nopaste "NotFound" at 192.168.1.3 pasted "kill_imcc__namespace_stack.patch" (161 lines) at nopaste.snit.ch/59960 15:12
NotFound Here is
15:14 jsut_ left
dukeleto plobsing: oooh, i didn't see it yet 15:18
NotFound++ # gutting imcc
15:20 theory joined
NotFound Not sure, but it looks like this patch improves a lot the speed of make test 15:21
dukeleto plobsing: looking at your pr now
bubaflub NotFound++ 15:22
dukeleto NotFound: if make fulltest passes, i suggest commiting that patch to master
moritz so many - and so few +? I like that patch :-)
NotFound Rebuliding now to measure i 15:23
it
bubaflub i dunno - aren't we cutting a release soon? might want to run it by the release manager first
dukeleto next tuesday is the release, right? A week out doesn't seem too soon, especially if we are just deleting unused code 15:25
NotFound bubaflub: I think that if someone is abusing imcc internals outside of parrot core, he or she deserves anyhhing.
bubaflub NotFound: true
dukeleto also, this code is purely internal, nobody outside parrot core should ever think about touching it
plobsing: you are amazing! It is like the code fairy came to visit me and left me passing tests under my pillow :)
whiteknight dukeleto: and you're only missing a few teeth! 15:27
NotFound Uh... not as much, but measurable: 140 wallclock secs vs 142 unpatched
jay Need to go and give a lecture. Back later. 15:28
bubaflub NotFound: 1.4% speed up?
whiteknight lots of little things add up 15:29
15:29 theory left
NotFound Doing again to be more sure. 15:29
dukeleto even a 1% speedup for deleting some code is quite a bargain 15:30
NotFound Even a 0%
15:33 hercynium_ is now known as hercynium
dukeleto plobsing: just wondering, did you use the 'development' branch of libgit2, or a tagged version ? i.e. which version of the header files were you looking at? 15:33
dalek rrot-libgit2: 1e7760d | plobsing++ | src/Git2/Common.winxed:
provide structview bindings for all public API structs
15:34
rrot-libgit2: aa5d936 | plobsing++ | t/001_load.pir:
update test with working git_repository_open() calls
rrot-libgit2: aa58775 | plobsing++ | src/Git2/Common.pir:
remove generated file from repo
rrot-libgit2: d723067 | dukeleto++ | / (3 files):
Merge pull request #1 from plobsing/master

struct definitions and correct repository open
cotto NotFound++ # great patch
whiteknight NotFound++ has been kicking butt lately in the patch department
dalek rrot-libgit2: 7d2b729 | dukeleto++ | CREDITS:
Remove junk from CREDITS
dukeleto whiteknight: did you see the rosella issue I created? 15:35
whiteknight: also, i am looking for a way to package rosella along with a project, so it isn't an external dep
NotFound The funny thing is that I was looking for the make coretest problem reported by mikehh, failed to solve but got in instead. 15:36
dukeleto whiteknight: i attempted to copy all rosella.pbc files into my repo, but rosella still attempts to load pbc files from a different path
whiteknight: is there a way you can create a single-pbc version of rosella? Or make it easy for people to include rosella wholesale into another repo ?
whiteknight dukeleto: try "rm -rf rosella"
delete the generated .pbc files 15:37
dukeleto whiteknight: hmm. i thought i did a "git clean -fdx" but I will try with a fresh repo on another machine
whiteknight git clean -xdf should work fine too
it attempts to bootstrap the distutils library wrapper, and if you updated Parrot things can become incompatible 15:38
dukeleto whiteknight: yeah, that is what happened.
whiteknight I really need to figure out how to detect that and work around it
dalek rrot: 09a73a7 | NotFound++ | compilers/imcc/ (3 files):
delete some imcc dead code in its namespace and symbols handling
bubaflub whiteknight: i ran into that exact problem as well
whiteknight or, maybe I should stop bootstrapping
plobsing dukeleto: I used whatever the libgit2-git AUR package uses. checking... 15:40
dalek sella: 092461d | Whiteknight++ | setup.winxed:
Don't bootstrap, until I can figure out the problems with it
whiteknight dukeleto: I can try to put together a complete one-stop binary for you. What libraries do you need specifically? 15:41
all of them, or only a few?
dalek Heuristic branch merge: pushed 44 commits to nqp/qregex by pmichaud 15:42
plobsing dukeleto: yes, I used the development branch of libgit2.
dalek rrot-libgit2: 766435c | dukeleto++ | / (3 files):
Give our test a .t extension and gitignore some generated files
15:47
dukeleto plobsing: awesome
whiteknight: i really only need the test harness stuff currently 15:48
whiteknight dukeleto: It tries to load libraries from the path "rosella/<libname>.pbc", so if you have a "rosella" subdir in your dev environment, or if you install the rosella .pbc files globally it should all work
dukeleto: Sure thing. I'll bundle up the Test, Harness, and MockObject stuff into a standalone library
dukeleto whiteknight: ah. I attempted to put stuff in ext/rosella and it barfed
whiteknight: that would be hella useful
whiteknight will do
15:52 dod left
NotFound You can use the env var PARROT_LIBRARY in such cases 15:53
dukeleto woooooot. parrot-libgit2 has passing tests! 15:54
dalek rrot-libgit2: c6c69b1 | dukeleto++ | t/ (3 files):
Create test directories for PIR and Winxed tests and tell the harness which is which
NotFound Out for a while 15:55
15:55 NotFound left
dukeleto plobsing++ # libgit2 code fairy 15:55
dalek website: rohit_nsit08++ | corellaScript : git push 15:56
website: www.parrot.org/content/corellascript-git-push
16:04 benabik_ joined, benabik left, benabik_ is now known as benabik, daniel-s left 16:07 theory joined
dalek sella: ab0e4ed | Whiteknight++ | s (3 files):
Add a new set node to be able to set a value to a new named temporary.
16:07
16:11 daniel-s joined 16:12 NotFound joined
cotto_work ~~ 16:13
16:15 daniel-s left 16:23 JimmyZ left 16:29 simcop2387 left, zby_home joined 16:30 simcop2387 joined 16:34 Eclesia joined
Eclesia hi 16:34
16:35 darbelo_ joined, darbelo left 16:43 rurban_ joined 16:45 rurban left, rurban_ is now known as rurban
dalek rrot-libgit2: 1b5d760 | dukeleto++ | README.md:
Update the readme
16:49
benabik #ps moved forward an hour starting this week, yes? 16:50
dukeleto benabik: methinks yes 16:51
dalek rrot-libgit2: f5dc4b2 | dukeleto++ | README.md:
Be more specific in our readme
16:52
17:01 mj41 left, contingencyplan joined
Coke benabik: see the calendar linked to off the main parrot site. 17:08
dalek p: ad0564e | benabik++ | tools/build/Makefile.in:
[install] Create all directories before use

This mostly matters if someone is using DESTDIR
17:31
p: 9764cc7 | benabik++ | tools/build/Makefile.in:
[Makefile] Remove NQP_LANG_DIR variable

It doesn't seem to be used anywhere.
p: 845d921 | moritz++ | tools/build/Makefile.in:
Merge pull request #17 from Benabik/master

make install fixes
17:37 mj41 joined
cotto_work #ps in 1:45 17:45
sorear #ps is on Mondays now?
Coke shouldn't be, no. 17:46
sorear oh
jnthn__ sorear: it's...Tuesday :)
Coke oh, I assumed I had screwed up the parrot.org calendar. ;)
NotFound the whole day down, down, down... 17:47
Coke whiteknight++ #try to, instead of try and 17:48
whiteknight ??? 17:50
Eclesia hi whiteknight, quick question : are there some zip utility classes in rosella ? 17:56
whiteknight no Zip in rosella. There is a gziphandle PMC type in parrot 17:59
it's a separate library, but it ships with Parrot
Eclesia ok 18:00
dukeleto benabik: nice blarg toats 18:04
atrodo dukeleto++
18:08 rohit_nsit08 joined 18:12 rohitnsit08 joined 18:13 mro joined
dalek p/qregex: b5a80bf | pmichaud++ | src/QRegex/P6Regex/Actions.nqp:
Add named and numbered aliases to subrules.
18:24
p/qregex: ec4c7a3 | pmichaud++ | src/QAST/Compiler.nqp:
Refactor regex_peek; make it easier to recover backtracking frame information.
p/qregex: 22b4fa8 | pmichaud++ | src/Q (2 files):
Add subcaptures.
kudo/nom: a9511b9 | jonathan++ | src/Perl6/SymbolTable.pm:
Flesh out BEGIN-time/CHECK-time handling a bit. While there's a larger refactor to come, this means that at least declarative things in the lexical scope of code run at BEGIN time are visible and/or callable. Main limitation is non-declaratives are not available (so no assigning to variables in outer scopes yet). Still way better than master. :-)
18:25
rrot: 4591566 | cotto++ | / (2 files):
Merge branch 'hllmap_fixed'
18:27
18:29 bluescreen left 18:34 lucian joined 18:44 bluescreen joined
dalek rrot-libgit2/rosella_harness_bug: 98db75e | dukeleto++ | t/harness:
this commit triggers a Null PMC access from Rosella
18:52
whiteknight ...poop 18:53
oh, rosella doesn't handle wildcards
dukeleto whiteknight: ah 18:54
whiteknight but it should still not throw unhandled exceptions like that
dukeleto whiteknight: you still want an issue with the backtrace ?
whiteknight yeah, sure.
Like I said, it shouldn't fail that poorly
dukeleto whiteknight: github.com/Whiteknight/Rosella/issues/22 18:57
whiteknight thanks
the great thing about having users for the software besides myself is that these kinds of things I would have never tried get shaken out
dukeleto whiteknight: rosella allowed the parrot-libgit2 and parrot-gmp project to quickly come into existence without having to re-invent the test harness wheel, and that is very valuable 19:01
whiteknight dukeleto: That's exactly the intent of it. Building blocks to get other projects moving faster 19:03
dalek sella: 2179dc2 | Whiteknight++ | src/harness/testrun/Factory.winxed:
Fix a typo where we are using the wrong variable to look up the testfile loader.
19:09
Eclesia whiteknight: something I'm starting to use more and more for my parser is Reflexion. since I'm not familiar with pir that much and often forget opcodes I wrote a small class for them. manipulating a function is much easier then diving in parrot internal mecanism :D but It must be written by someone who knows parrot well ... which is not my case 19:10
so here is the code, if you want to improve it and add it in rosella :
nopaste "Eclesia" at 192.168.1.3 pasted "winxed reflexion" (68 lines) at nopaste.snit.ch/59961
whiteknight Eclesia: yes, that does look useful 19:11
Rosella has some of that kind of stuff, but not all in one place
NotFound You don't need the getaattribute builtin, now you can use: candidate.*attName 19:13
Eclesia NotFound: don't add to much syntax sugar in winxed ;) 19:15
whiteknight NotFound: If we use the library from other languages, we still need a wrapper
plus, a good consistent API is valuable
NotFound Eclesia: is easier to optimize operators than builtins. 19:16
whiteknight: yeah, but I mean in the implementation.
19:19 smash left
Eclesia rahhh, damn opengl module still skipped ... 19:19
cotto_work #ps in 10 19:20
Eclesia whiteknight: you might know, was does need the opengl module (mesa, glu) , anything else ? 19:22
whiteknight I have no idea 19:23
19:25 rohit_nsit08 left
Eclesia hm .. Is there a UUID generator somewhere ? 19:32
whiteknight no. But that is something that might be valuable to create 19:33
cotto_work I thought we had one. 19:34
Eclesia has the feeling he ask always the worse questions ^^ 19:35
benabik What is the "supported" development environment for Parrot on Windows? Cygwin? MSYS? MSVC? 19:37
19:38 darbelo_ left
jay ping bubaflub 19:42
bubaflub pong jay
jay I take the following from your nci file as an example: v __gmpz_sqrt pp # mpz_sqrt
Now, in GMP I think there is a function mpz_sqrt which is void and takes two arguments of type p. Fine. 19:43
Now is the name __gmpz_sqrt simply the name you chose for use, e.g. the name of the 'low-level binding'?
bubaflub jay: not quite. GMP is kinda crazy
benabik GMP is very crazy. #defines EVERYWHERE
bubaflub jay: in the docs the function is named mpz_sqrt, returns void and takes two pointers 19:44
jay: but it's actually a #define - the *real* name of the function is __gmpz_sqrt
jay: and since we're not a C parser we can't use #define'd stuff
jay I see. bubaflub++. Sounds crazy to me (I mean, what they did). 19:45
bubaflub jay: yeah, took me a while to figure out. i have a comment on that line just to remind me what the what is.
jay: so my PIR bindings use the ugly internal names and do no type checking
jay: the Winxed class will do type checking, has inline docs, and has the nice name
jay Great. You just answered by next question about nci. The comment is really just a comment.
bubaflub jay: yeah, the way the script works it'll just ignore that
jay Ok! Back to work... thanks! 19:46
bubaflub jay: no prob. feel free to ping my IRC or email me if you have any questions. 19:47
jay Willdo, thx 19:48
bubaflub: one more... where is the best table to look for things like the single-character I should use for the nci file, for type short, say? 19:50
19:51 daniel-s joined, daniel-s left
bubaflub jay: docs/pdds/draft/pdd16_native_call.pod 19:51
jay bubaflub++
bubaflub jay: there may be lists in other parts as well
whiteknight I think there is a list in src/nci/extra_thunks.nci 19:52
if the two lists differ, I don't know which is true
if they differ, it's a bug
bubaflub whiteknight and jay: i'd lean towards the .nci - that code is actually used and compiled
the pdd doesn't get much love
in fact, lemme check now to see if they are different
looks about the same to me 19:53
nopaste "Eclesia" at 192.168.1.3 pasted "whiteknight : debug utils winxed" (199 lines) at nopaste.snit.ch/59982 19:54
Eclesia whiteknight: small bonus 19:55
jay Hmm... unsigned long int? Just use "l"?
whiteknight Eclesia++
bubaflub jay: lemme check. 19:58
yep
jay ok -- where did you find that, though? I didn't see that in that extra_thunks.nci file. 19:59
bubaflub jay: ah, that was just in my code 20:00
jay bubaflub: ok 20:01
bubaflub jay: i mean, it works. i remember running into the same problem. i did some guess and check / asked plobsing
20:02 mro left
jay bubaflub: maybe the only issue that is checked it the right size in bytes, nothing more... buyer beware when using? 20:05
bubaflub jay: i wouldn't be surprised if that were the case 20:06
jay: i've segfaulted a few times
dukeleto mmmm, segfaults
20:06 darbelo joined
dukeleto whiteknight: i get the same null pmc backtrace when not using globs in add_test_file 20:09
whiteknight yeah, that function is definitely broken. I committed a fix a little while ago, but I haven't been able to test it 20:10
dukeleto whiteknight: gist.github.com/1078861 causes the same problem.
whiteknight: okey dokey
whiteknight: i will attempt to beat you to writing a test and fix for that, but I plan on failing and letting you beat me ;) 20:11
whiteknight yeah, I'll get to it tonight
dukeleto does errands and will probably miss a bit of #ps
whiteknight I don't have many tests for the Harness library itself, which is a weakness
dukeleto whiteknight: i will help fix that. it is right up my dark, dark alley 20:12
jay bubaflub: one more if I can impose, because you're probably in the right place: long double?
bubaflub jay: not entire sure cause i don't have one in my repo, but maybe l?
i think that's a good one to ping plobsing with
dukeleto jay: i would try l
whiteknight: i ran into this problem, because recurse(1) was attempting to test vim swap files 20:13
whiteknight: and that was annoying
jay Ok, willdo. I'm a long way from even segfaulting.
whiteknight ah yes, I have a really lazy heuristic in there that checks for the substring ".t" in the name, but doesn't check that it's at the end of the filename
I'll fix that
dukeleto woot 20:14
whiteknight it's my punishment to you for using vim
bubaflub whiteknight: haha, yeah it was picking up my .swp files as well 20:18
Eclesia whiteknight: another bonus for rosella (bonus day): 20:19
nopaste "Eclesia" at 192.168.1.3 pasted "String utilities" (88 lines) at nopaste.snit.ch/60023
20:20 soh_cah_toa joined
dalek kudo/nom: fad32e6 | moritz++ | t/spectest.data:
three more passing test files
20:22
jay ping bubaflub 20:23
bubaflub pong jay
whiteknight Eclesia: Rosella already has a string library with most of these things. I'll look at your versions to make sure I am doing it all the right way
jay I think in your GMP README, 'how it works' item 2, should be tools/dev/ncidef2pir.pl... typo, you are missing the 'pir'?
Eclesia whiteknight: mine might not handle correctly everything, I just regroup stuffs I often use 20:24
bubaflub jay: lemme check 20:25
whiteknight Eclesia: github.com/Whiteknight/Rosella/blo...ing.winxed
dalek rrot-gmp: 0c21ac7 | bubaflub++ | README.md:
fix typo, jay++
bubaflub jay, you're absolutely right
jay Nice having good docs to read, bubaflub++ 20:26
Looking at the utility, ncidef2pir.pl, the header docs indicate signatures with spaces, like i i i i rather than iiii, I assume it can handle both formats, given your nci file. 20:28
dalek kudo/podparser: c33a153 | tadzik++ | / (2 files):
Tune table tests, add some new and fix bugs detected by them
20:29 hercynium left, contingencyplan left 20:30 hercynium joined
jay bubaflub: WOW! I have a 754 line .pir file generated from my nci file (I did my own script parsing the headers) for only the statistics part of GSL. I'm that much closer to being able to segfault. !_) 20:31
bubaflub jay: very nice. automation and laziness for the win. 20:32
20:32 contingencyplan joined, hercynium_ joined, whiteknight left 20:34 darbelo_ joined, darbelo left
dalek kudo/nom: 38b4f24 | jonathan++ | src/Perl6/Metamodel/RoleToClassApplier.pm:
Make sure we can compose NQP methods into a Perl 6 class (doesn't make NQP roles work yet from nom, but a necesary step).
20:34
kudo/nom: fd4005c | jonathan++ | src/Perl6/SymbolTable.pm:
Little fix to BEGIN-time symbol handling.
benabik Guh. NQP compiled a moment ago. 20:35
20:36 hercynium left, hercynium_ is now known as hercynium 20:38 mtk left
dalek p/qregex: 05d1982 | pmichaud++ | src/QRegex/Cursor.nqp:
Add Cursor.ws .
20:43
p/qregex: 060dc92 | pmichaud++ | src/QRegex/P6Regex/Actions.nqp:
Enable :sigspace modifier.
rrot: 21b41be | NotFound++ | src/pmc/mappedbytearray.pmc:
delete an #ifdef that serves no purpose other than to make windows fail tests
20:46
20:53 Eclesia left
dalek kudo/nom: 2d5a72b | moritz++ | t/spectest.data:
run assign.t
20:54
rrot: 093885c | NotFound++ | t/pmc/mappedbytearray.t:
take into account possible text file conversions in MappedByteArray tests
20:55
NotFound Don't know what happened with MappedFileArray init_pmc, possibly got mangled on some merging. 20:56
20:57 rohitnsit08 left
NotFound Tests pass now on XP home with Strawberry 20:57
20:58 rohitnsit08 joined, fperrad left
darbelo_ tcurtis: ping 20:58
tcurtis darbelo_: pong 20:59
darbelo_ Hey, I wanted to get some status updates, see how the project is going now we're at the halfway mark. 21:02
21:02 SHODAN left
tcurtis I'm still rather behind, partly due to things being tricky and partly due to my failing to manage my time well. 21:04
I think that all that remains to get LR(0) grammars done is to fix some bugs in my lookback-adding and add a few fairly trivial-seeming transformations. 21:05
(I need to modify the CFSM building so that the states generated for nonterminals push their names onto the stack, for example.) 21:06
And remove transitions under the empty string.
21:08 bluescreen left 21:09 zby_home left
darbelo_ That doesn't sound like an excessive amount of work to get LR(0) done. 21:12
tcurtis More than I should have at this point, though. 21:15
darbelo_ Yeah, but it seems to me that even though the timetable didn't survive the encounter with the implementation the plan mostly did.
It's a case of "took longer than expected" as opposed to "had to throw the plan away" 21:16
soh_cah_toa tcurtis: don't feel bad about being behind. i'm way behind too. in fact, i'm too scared to look at my original proposal ;) 21:18
tcurtis: just gotta keep trucking. darbelo_'s right
darbelo_ We'll probably have to cut some of the later goals, but the overall plan still seems sound to me. 21:20
tcurtis Yeah. 21:23
soh_cah_toa tcurtis: i've actually been meaning to talk to you. i don't know much about your project 21:28
tcurtis: i know you're writing a LALR parser but what is it for? is it to replace parrot's current parser for pct? for just one language? 21:29
darbelo_ Its a parser generator actually. Think of yacc or bison. 21:30
soh_cah_toa yeah
tcurtis soh_cah_toa: I'm writing an LALR parser generator. It's not to replace NQP's regexes; but it's an alternative to it.
NotFound Found a problem with NCI/Utils ncifunc: it always return a Closure, so its result can't be checked for definedness 21:31
soh_cah_toa oh i see. so if a language dev wanted to implement a language using pct, he could either use the traditional nqp Grammar/Actions, etc or use LALRskate? 21:32
darbelo_ tcurtis: Before I forget, you should probably try and get a parrot.org blog post together for the midterms. As a kind of mid-project retrospective. 21:33
21:36 ambs left
tcurtis darbelo_: Indeed. 21:36
dalek kudo/nom: 399c991 | jonathan++ | src/Perl6/ (2 files):
Fix the crony.t regression, as well as other roles and lexicals related issues.
21:37
tcurtis soh_cah_toa: Yes. Both approaches have some advantages.
darbelo_ LALR has a big advantage in that it's a very widely known technique. 21:40
soh_cah_toa tcurits: that's pretty neat. i was just reading about parser generator algorithms the other day in the dragon book. transition diagrams, dfa, nfa, etc
tcurtis For example, IIUC, LALR(k) parsing has better algorithmic complexity than PEGs (which Perl 6 regexes are quite similar to).
soh_cah_toa interesting. that's pretty exciting 21:41
i think that will attract a lot compiler devs who aren't crazy about writing perl6-like code 21:42
21:42 Psyche^ joined 21:43 particle joined
tadzik tcurtis: your parser generator will be an alternative to the current Grammar.pm solution, or Grammar+Actions as well? (if you know what I mean) 21:44
21:46 particle1 left
tadzik you might be interested in this, seems that Parrot does some forbidden in C rituals: wklej.org/id/561124/ 21:46
tcurtis tadzik: in the interests of language-independence, I'm planning to seperate the semantic actions from the grammar specification, so it will still use an Actions class.
tadzik tcurtis: that's cool 21:47
21:47 Patterner left, Psyche^ is now known as Patterner 21:48 daniel-s joined 21:50 daniel-s left, daniel-s joined 21:51 contingencyplan left 22:02 rdesfo joined 22:06 darbelo_ left 22:08 rdesfo left
dalek rrot: 77bd7c8 | tadzik++ | CREDITS:
Add flussence++ to CREDITS
22:10
22:10 lucian left 22:13 rdesfo joined, writtencode joined 22:15 rdesfo left 22:26 logie left 22:35 hercynium left
dalek rrot: f8d8ea6 | NotFound++ | runtime/parrot/library/NCI/Utils.pir:
don't wrap a not found dlfunc, we should be able to check the result
22:36
22:37 whiteknight joined 22:38 logie joined
writtencode Hello; would this be a good irc to inquire about Parrot, or is this only for Parrot devs? 22:39
sorear There's a difference? 22:41
whiteknight writtencode: this is *the* place to inquire about Parrot. Welcome! 22:42
dalek rrot: 42dc7a7 | NotFound++ | t/library/nciutils.t:
check several dlfuncs before testing them
writtencode That's why I asked. Developers talking about developing their product might not be interested in talking to people who want to use it :/
However, if this is the place to be, I have a question or two
whiteknight writtencode: ask away! We love to answer questions
writtencode First off: I'm interested in developing a small language as a tool and also a hobby task 22:43
I'm looking for Jit, which I know parrot and LLVM have; I'm also looking for nice functional tools, like closures and anonymous functions; would Parrot be decent for such things? 22:44
sorear parrot does *not* have a Jit
whiteknight We don't have JIT right now
writtencode oh, I apologize
thanks for telling me
whiteknight we are working towards it, but right now we don't have a working one
NotFound whiteknight: now at least the nciutils test results are a bit more meaningful
tadzik yeah, someone ought to fix the wikipedia entry
writtencode hahah, that's were I got that from :P 22:45
sorear Parrot does however have far better support for closures and anonymous functions than LLVM does
whiteknight writtencode: Next summer we should have it in, or a draft
writtencode Mm'k, thanks
sorear wikipedians don't like it much when people involved in Foo edit the Foo article
writtencode really? I could see that in some cases, but in OSS it seems like there shouldn't be a conflict of interest 22:46
whiteknight sorear: they just don't like it if you don't cite sources
writtencode Ah, I see.
whiteknight they won't take your word for it, they only take citations
writtencode: So what kind of language are you interested in? 22:47
writtencode So -if I understand correctly - were I to write a language, I wouldn't be able to write a REPL for it until Parrot was able to perform JIT?
cotto_work Languages built with PCT get a REPL for free.
whiteknight writtencode: we have REPL 22:48
writtencode PCT? Is that short for Parrot? Also, just to make sure, when I say REPL, I mean the ability to actively write and run code, such as in cliojure/python
whiteknight writtencode: We compile code to bytecode and execute bytecode directly. a JIT would turn bytecode into native machine code
writtencode Ahhh, I see
tadzik writtencode: What is your definition of repl?
jnthn__ writtencode: There's languages running on Parrot with a REPL. 22:49
whiteknight writtencode: PCT is a compiler-building toolkit for Parrot.
NotFound Parrot Compiler Tools
writtencode whiteknight: that makes sense, thanks
tadzik okay, misunderstanding solved it seems
writtencode I'm thinking a functional language, mainly to be used as a tool to make multithreading applications easier on myself
22:50 dmalcolm left
whiteknight writtencode: threading is a bit of a problem right now. It's another thing we are in the process of re-designing and re-implementing 22:50
writtencode Variables are immutable unless declared mutable, and state is avoided as much as possible - the language conventions would put you in a threading state of mind
Mm'k
would you say it is currently workable, however?
whiteknight writtencode: We don't have any real users of the current code, so it isn't exercised at all 22:51
writtencode Ah, I see.
whiteknight writtencode: sorry to disappoint. Threading is one of our biggest weaknesses right now 22:52
writtencode Well, thanks for your help. I'm going to look at the documentation on the web, and I may pop back in here and there for some help. Thanks for your help so far, you've been great :)
whiteknight but I would rather tell you now before you start implementing anything
writtencode: We are looking for input about threading to help direct our designs. If you have any ideas you would like to see in our system when it's finished, let us know 22:53
We definitely want to support the kinds of functional systems you are talking about
writtencode Yeah, I'm glad I asked. I think I might start looking at Parrot anyway, seeing as you have good functional support. I'll also look at LLVM, and see what they have as well. I'll give you feedback for sure if I decide to use Parrot. 22:54
whiteknight excellent. I look forward to seeing you around 22:55
22:56 mj41 left
sorear writtencode: how will your system differ from Haskell? 23:05
23:13 whiteknight left 23:21 daniel-s left 23:25 rohitnsit08 left 23:31 logie left, logie joined
dalek rrot-libgit2: 4716391 | dukeleto++ | t/winxed/001_load.t:
Add a failing test which accesses libgit2 from Winxed
23:42
NotFound Found another silly thing in windows platform 23:48
A TODO not done 23:49
In error.c: /* TODO: Support Unicode error messages */
I expect an hommage to my humble old laptop from all windows-parrot users ;) 23:50
23:58 aloha left 23:59 aloha joined