Parrot 3.5.0 "Menelaus" released | parrot.org | Log: irclog.perlgeek.de/parrot/today | #parrotsketch meeting Tuesday 1930 UTC
Set by moderator on 12 July 2011.
dalek rrot: da6b544 | NotFound++ | src/platform/win32/error.c:
'TODO: Support Unicode error messages' in platform win32 done
00:01
00:05 logie left 00:24 whiteknight joined
whiteknight The good news: The install of Ubuntu 10.04 worked perfectly and I didn't lose any of my data. 00:25
The bad news: My mouse is still not working correctly, so it wasn't a software problem 00:26
cotto_work At least you can work around it with a usb moose. 00:28
jay ping bubaflub 00:29
whiteknight I don't have a USB mouse right now 00:34
so I need to get one of those
00:40 theory left
whiteknight I guess that is high up on my list of priorities now 00:41
jay hardware troubles, whiteknight? 00:42
whiteknight jay: Yeah. The trackpad on my laptop has been misbehaving in some extremely frustrating ways
it started shortly after a software update, so I was hopeful it was a software problem
but moving back to Ubuntu 10.04 doesnt seem to have helped 00:43
jay I have a pile of mice... if you happen to be in New Haven...
whiteknight I just threw away a box of them. We've been cleaning the apartment in preparation for moving to a new place
jay Driver problem you think?
Or can you dual-boot into Windows to see if it's a hardware problem? 00:44
00:44 rurban_ joined
whiteknight That's what I thought originally, but the problem persists with the older ubuntu 00:44
I've been using ubuntu on here continously since 8.04, upgrading every few months with few hiccups
NotFound whiteknight: two remaining problems in os tests on windows: one is perl's fault, the other is that creating a hard link requires windows 2000 or something
whiteknight so I know it used to work with 10.04
NotFound: the hard-link test, is that an OS PMC test? 00:45
jay Ah... I've never gone that long. I'm a big fan of fresh installs.
NotFound whiteknight: os.link
whiteknight my windows environment is 64-bit windows 7
NotFound: We should just skip that test on Windows
NotFound whiteknight: then that test should pass for you now.
00:45 rurban left, rurban_ is now known as rurban
whiteknight NotFound: it does pass for me 00:45
the only tests I saw failing this morning were debug.t and nciutils.t 00:46
NotFound And the silly name one?
whiteknight the silly name one?
NotFound readdir with a file with a funny face in its name. 00:47
Test number 13
skipped only if msvc... funny. 00:48
I think the problem is related to windows console. If the console is using utf8 it may work. 00:50
'cause the file with funny name is created from perl. 00:51
Too tired now, bye 00:54
whiteknight hmmm, I haven't seen that problem on my platform 01:07
01:08 lichtkind joined 01:13 lichtkind left 01:14 sigsegv joined
sigsegv hi guys. 01:15
whiteknight hello sigsegv 01:21
01:23 woosley joined
sigsegv having to send a PCLA is a bit burocratic. is it actually required? 01:25
01:25 rurban_ joined
sorear only if you want to commit changes 01:27
and it's spelled bureaucratic
whiteknight sorear: no biting! 01:28
sigsegv: yeah, it's only for committers. Anybody can submit patches or whatever without one
01:28 rurban left
sigsegv hehe, no problem. I know my english is so bad :) 01:28
01:28 rurban_ is now known as rurban 01:30 kid51 joined
kid51 whiteknight: ping 01:31
whiteknight pong
kid51 Did you have a chance to do a smoke test on Win32?
Different subject: Does anyone know why on smolder.parrot.org/app/projects/smoke_reports/1 some smoke report summaries contain Revision while others don't? 01:33
(The ones lacking Revision are much less useful.) 01:34
(Full disclosure: My latest Smolder is lacking a Revision entry.) 01:35
sigsegv hehe 01:36
whiteknight kid51: git on windows is a tricky subject 01:37
on my machine, I don't have git available so I don't have a revision 01:38
kid51 But my problem is on my Linux box, where I very definitely have git 01:39
Uh-oh, here's the problem. 01:40
lib/Parrot/Harness/Smoke.pm consults $PConfig{git_describe} ... which is no longer defined!
whiteknight weird 01:43
sigsev: are you interested in hacking on parrot?
we like new hackers!
01:43 daniel-s joined
sigsegv whiteknight: yes. :) 01:44
whiteknight sigsev: What kind of stuff do you program? What languages do you know?
sigsegv I'm looking for new project to contribute... 01:45
whiteknight sigsev: If you have an account on github, you can fork parrot and start hacking 01:46
We can pull in your work when you have good things
and if you have questions, you can always come here to talk!
dalek p/qregex: 838f6cd | pmichaud++ | / (5 files):
Backtrack captures and backreferences.
01:48
whiteknight is going to bed. Goodnight 01:49
01:49 whiteknight left
dalek rrot: 23a0a42 | jkeenan++ | / (3 files):
Remove file testing abandoned config step auto::git_describe. Provide updated
02:06
02:17 daniel-s left 02:18 sigsegv left 02:19 sigsegv joined 02:20 sigsegv is now known as Felipe
dalek rrot/soh-cah-toa/hbdb: 7064e7e | soh_cah_toa++ | include/parrot/hbdb.h:
Added HBDB_BREAK status flag because I will need it soon.
02:27
rrot/soh-cah-toa/hbdb: e294495 | soh_cah_toa++ | include/parrot/hbdb.h:
Changed "skip" field in hbdb_breakpoint_t to unsigned since it's impossible for it to be less than 0.
rrot/soh-cah-toa/hbdb: 950e837 | soh_cah_toa++ | include/parrot/hbdb.h:
Changed my mind about the previous commit. Setting "skip" to -1 will signal a disabled breakpoint.
rrot/soh-cah-toa/hbdb: 3f2843c | soh_cah_toa++ | / (2 files):
Added initial implementation of "run" command. Also started "continue" but ended up redesigning "run" not to rely on it so it doesn't do anything just yet.
rrot/soh-cah-toa/hbdb: ef16714 | soh_cah_toa++ | src/hbdb.c:
Removed STUB in hbdb_get_command() that wasn't needed anymore.
rrot/soh-cah-toa/hbdb: 875c525 | soh_cah_toa++ | / (2 files):
Made continue_running() static to limit its scope to src/hbdb.c.
rrot/soh-cah-toa/hbdb: 342b496 | soh_cah_toa++ | src/hbdb.c:
Added the ASSERT_ARGS macro inside continue_running().
rrot/soh-cah-toa/hbdb: 6e3bfc5 | soh_cah_toa++ | src/hbdb.c:
Added check_file_exists() to reduce duplicate code for verifying that a file has been loaded into memory. Also re-alphabetized function definitions and a few declarations in command_table.
kid51 When ya got it, flaunt it baby, flaunt it!
soh_cah_toa :)
02:33 theory joined
bubaflub ~ 02:37
pong jay
02:42 theory left 02:44 kid51 left
jay pong bubaflub. May have missed you. 02:55
bubaflub jay: nope. sorry, i was out to dinner earlier. i just replied to your email. 02:56
jay And I just got back from the pool. Just got it... just a sec. 02:57
bubaflub jay: very nice. lemme know if you have any questions. i'll probably be on for another half an hour or so. 02:58
jay bubaflub: thanks, that helps. Though if someone really were happy using PIR and dynamically loading from the lib*.so files, they wouldn't need these projects at all, right? The goal is just to make things easier? 03:00
bubaflub jay: that's right. if you just wanted to loadlib and dlfunc everytime you needed something, you wouldn't need this.
jay: though one nice part is the VTABLE overrides; it allows me to do something like x = y + z where x, y, and z are instances of GMP::Integer 03:01
and it calls the appropriate function
jay Ok. Good -- still very worthwhile, but good to understand the big picture. I'll trust you on that VTABLE thing. Beyond my payscale at the moment.
bubaflub jay: heh. github.com/bubaflub/parrot-gmp/blo...winxed#L44 and below, all the functions marked with [vtable] if you are interested 03:03
jay: my project is more of a foundation for other projects to build on
dalek tracwiki: v152 | soh_cah_toa++ | Languages 03:04
tracwiki: Updated the URL for Cardinal to link to the active repository.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
tracwiki: v153 | soh_cah_toa++ | Languages
tracwiki: Added link to Winxed homepage.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
jay Of course... I don't think I'm like to be able to get the GSL project as polished and Parrot-integrated as yours, but... we'll see. I'll have to look at the gmpdoc2winxed.pl carefully before deciding where to go, next. 03:05
bubaflub jay: yeah, GSL is much bigger and more comprehensive than GMP. probably all you'll really need are a few sub-systems 03:07
jay On the other hand... you can get a lot of mileage out of a script or two...
bubaflub jay: exactly. the gmpdoc2winxed script is a bit smarter - it uses Web::Scraper to parse the HTML and then some parsing of that text. 03:08
jay: and i intend to refactor those scripts some more so they are more flexible and less tied to GMP; just might not get done till the end of summer.
jay I just glanced at it... my perl is pretty rusty, but it is surprisingly short. 03:09
I think I'll call it a night -- thanks again, see you tomorrow. 03:11
bubaflub jay: have a good night.
dalek tracwiki: v154 | soh_cah_toa++ | Languages 03:19
tracwiki: Fixed URL for Pipp to link to its GitHub repository.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
tracwiki: v155 | soh_cah_toa++ | Languages
tracwiki: Updated URL's for PIR.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
tracwiki: v156 | soh_cah_toa++ | Languages
tracwiki: Added link to Squaak's WikiBooks tutorial.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff 03:20
03:30 daniel-s joined
dalek tracwiki: v157 | soh_cah_toa++ | Languages 03:35
tracwiki: Added link to TAP Wikipedia article for nqpTAP.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
dukeleto soh_cah_toa++ # wiki gardening 03:40
soh_cah_toa yeah, i'm bored :) 03:41
dukeleto soh_cah_toa: dangerous words.... 03:44
soh_cah_toa correction: i don't want to start anything new this late so i'm just "picking up the small trash" 03:45
03:46 theory joined
soh_cah_toa what's this POD in the languages wiki? the link is dead and i can't seem to find a new repo. has this project been abandoned? 03:50
dalek tracwiki: v158 | soh_cah_toa++ | Languages 03:51
tracwiki: Added NQP as a language and fixed NQP-rx a bit.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
soh_cah_toa bah, just noticed nqp is already in the "inactive" section :(
dalek tracwiki: v159 | soh_cah_toa++ | Languages 04:07
tracwiki: Removed NQP from "active" section because I didn't notice it was already in the "inactive" section.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
tracwiki: v160 | soh_cah_toa++ | Languages
tracwiki: Updated URL for NQP repository.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
tracwiki: v161 | soh_cah_toa++ | Languages
tracwiki: Added link to TAP Wikipedia article for Tapir.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
tracwiki: v162 | soh_cah_toa++ | Languages
tracwiki: Added link to PIR Wikipedia article for PIRATE.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
tracwiki: v163 | soh_cah_toa++ | Languages
tracwiki: Added link to PostgreSQL Wikipedia article for PL/Parrot.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
tracwiki: v164 | soh_cah_toa++ | Languages 04:22
tracwiki: Added C and Perl 5 to "Written In" for PL/Parrot.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
tracwiki: v165 | soh_cah_toa++ | Languages
tracwiki: Added link to POD Wikipedia article for POD.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
tracwiki: v166 | soh_cah_toa++ | Languages
tracwiki: Added links to XML and SAX Wikipedia articles for XML language.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
tracwiki: v167 | soh_cah_toa++ | Languages
tracwiki: Added links to .NET and PIR Wikipedia articles for dotnet.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
tracwiki: v168 | soh_cah_toa++ | Languages 04:23
tracwiki: Added link to "Regular Expression" Wikipedia article for regex.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
tracwiki: v169 | soh_cah_toa++ | Languages
tracwiki: Added link to "QuickBASIC" Wikipedia article for BASIC.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
tracwiki: v170 | soh_cah_toa++ | Languages
tracwiki: Added link to "Common Lisp" Wikipedia article for Kea-CL and updated the link to its repository.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
04:30 daniel-s left
dalek tracwiki: v171 | soh_cah_toa++ | Languages 04:44
tracwiki: Removed Squaak from "Inactive" section since it's in the "Active" section.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
tracwiki: v172 | soh_cah_toa++ | Languages
tracwiki: Added link to Perl 5 homepage for Blizkost.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
tracwiki: v173 | soh_cah_toa++ | Languages
tracwiki: Added link to "Joy" Wikipedia article for Fun. Also fixed URL to link to its repository instead of the wiki.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
tracwiki: v174 | soh_cah_toa++ | Languages
tracwiki: Added link to "Java Virtual Machine" Wikipedia article for jvm.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
tracwiki: v175 | soh_cah_toa++ | Languages
tracwiki: Added link to "C" Wikipedia article for Close.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
04:52 contingencyplan joined
dalek tracwiki: v176 | soh_cah_toa++ | Languages 04:54
tracwiki: Removed "parrot_compiler" since it's not even a language and the link was dead anyway.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
tracwiki: v177 | soh_cah_toa++ | Languages
tracwiki: Added link to Perl 6 specification for roast.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
tracwiki: v178 | soh_cah_toa++ | Languages
tracwiki: Removed "urm" since the link is broken and I can't find even the tiniest information about it. Assumed dead.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
tracwiki: v179 | soh_cah_toa++ | Languages
tracwiki: Update URL to chitchat's GitHub repository.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
tracwiki: v180 | soh_cah_toa++ | Languages 05:10
tracwiki: Added link to "Jacko" Wikipedia article for jako.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
cotto ~~ 05:31
dalek tracwiki: v181 | soh_cah_toa++ | Languages 05:41
tracwiki: Rewrote some of the headings and opening paragraph.
tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff
soh_cah_toa phew, that's the end of that 05:42
cotto busy fellow 05:44
05:44 fperrad joined
soh_cah_toa all those dead links were bugging the heck out of me. once i started i couldn't stop :) 05:44
cotto: if you saw my late report on #ps (forgot about the time change) i've actually made a whole lot of progress so far this week 05:46
cotto soh_cah_toa, I did see it. It's great to see the thing start to become useful. 05:50
soh_cah_toa absolutely
cotto: wow, and i think i just discovered why the "quit" command has been aborting and giving me a brack trace
cotto soh_cah_toa, I do question whether it's appropriate to have hbdb-specific functions in the API rather than to extend the API to provide what hbdb needs in a generic and reusable manner.
soh_cah_toa cotto: it's b/c i call Parrot_x_exit() right after hbdb_destroy() which free's the mem for the interp which causes instant chaos
cotto Mmmm. Instant chaos. 05:51
soh_cah_toa cotto: whiteknight suggested i do that
well temporarily at least
cotto soh_cah_toa, whiteknight suggested instant chaos? That's not typical.
soh_cah_toa ha! no i was referring to the api
cotto ah 05:52
antecedents are tricky beasts
soh_cah_toa yeah
cotto I don't mind it if it's temporary, but I don't want to merge it into master like that.
soh_cah_toa hmm...looking at these functions i really don't see how they can be generalized
the reason they're there is b/c i need them for the frontend and backend 05:53
cotto Don't worry about it now. We can figure something out a little later in the project. 05:54
soh_cah_toa ok. sure
egh, i really should head to bed 05:56
i'll talk to you tomorrow
05:56 soh_cah_toa left 05:58 jsut left
dalek rrot/soh-cah-toa/hbdb: 973394b | soh_cah_toa++ | src/hbdb.c:
Quickfix to stop "quit" command from aborting and printing a backtrace.
06:10
06:40 theory left 06:49 theory joined 06:53 theory left
dalek p/qregex: 63c3eb9 | pmichaud++ | src/ (2 files):
Fix capture stack.
07:35
p/qregex: 12d91bf | pmichaud++ | src/QRegex/Cursor.nqp:
Fix backref bug.
p/qregex: 527ad9c | pmichaud++ | src/QRegex/Cursor.nqp:
Fix multiply-named captures.
p/qregex: 27cbf0e | pmichaud++ | / (3 files):
Add <ws> and <ident> builtins.
p/qregex: ae3f728 | pmichaud++ | / (2 files):
Fix negated subrule bug.
p/qregex: bdcdab8 | pmichaud++ | src/QRegex/P6Regex/Actions.nqp:
Add negated charclass rule.
p/qregex: 9763b75 | pmichaud++ | / (2 files):
More builtin Cursor rules.
p/qregex: 6f9184d | pmichaud++ | src/QRegex/ (2 files):
Handle subrule composition; fix builtins at end of string.
p/qregex: 7fc16c7 | pmichaud++ | / (2 files):
Zerowidth enumcharclass, restore tests.
07:36
07:38 mj41 joined, daniel-s joined 08:02 UltraDM joined
dalek kudo/nom: c47b816 | moritz++ | / (3 files):
simplistic List.ACCEPTS, fix Array.push to return self
08:12
08:44 rurban_ joined 08:45 rurban left, rurban_ is now known as rurban 09:16 contingencyplan left 09:24 pjcj left 09:31 pjcj joined 09:57 woosley left 10:06 ambs joined
dalek kudo/nom: 422408b | jonathan++ | NOMMAP.markdown:
Update nommap a little.
10:37
kudo/nom: 197021d | jonathan++ | src/Perl6/ (2 files):
Gut enum action method; align grammar with what STD parses.
10:51 SHODAN joined 11:24 JimmyZ joined 11:39 ambs left 11:41 mtk joined 11:43 fivetonsflax left 11:47 mtk left, mtk joined
dalek p: cdfcb78 | jonathan++ | src/6model/reprs/P6opaque. (2 files):
Auto-viv memory and performance improvements, memory usage improvements and memory leak fixes for P6opaque. Patch courtesy of mls++.
11:48
12:03 lucian joined
dalek kudo/nom: ccc52e5 | jonathan++ | / (5 files):
Start to stub in EnumHOW; nothing especially exciting yet.
12:06
kudo/nom: 1084674 | jonathan++ | / (2 files):
Stub in roles where we'll put extra methods that enumerations carry.
kudo/nom: a8d4770 | jonathan++ | src/Perl6/Metamodel/BaseType.pm:
Get BaseType to compute an MRO.
kudo/nom: ab16385 | jonathan++ | src/Perl6/ (2 files):
Get enum action method along far enough to create and install the type object. No handling of the values just yet.
12:08 simcop2387 left 12:13 dodathome joined 12:20 whiteknight joined
Felipe good morning :) 12:27
JimmyZ morning, Felipe 12:29
whiteknight good morning JimmyZ, Felipe 12:30
JimmyZ good moning, whiteknight 12:31
dalek p/qregex: 62c9c31 | pmichaud++ | tools/build/Makefile.in:
Update Makefile to always build QRegex.pbc and to install it.
12:38
p/qregex: e48d8aa | pmichaud++ | tools/build/Makefile.in:
Merge branch 'master' into qregex
p/qregex: 9839f38 | pmichaud++ | src/6model/reprs/P6opaque. (2 files):
Merge branch 'master' into qregex
12:39
kudo/qregex: 96eb9e1 | pmichaud++ | src/Perl6/ (3 files):
Load the QRegex library from NQP for regex support.
12:40
p: 6612b1f | jonathan++ | src/how/NQP (2 files):
A renaming to standardize the meta-role specialization API between NQP and Rakudo.
12:57
jay good morning JimmyZ, Felipe, and whiteknight 12:59
Felipe whiteknight: I'm sigsegv... answering your questions last night... I've coded stuff in the PHP project, as core dev. I like this compiler, VM, lexer, parsing topics. :) 13:01
13:01 simcop2387 joined
whiteknight Felipe: Oh cool. We like PHP. We wanted to create a PHP compiler for Parrot 13:01
We have things like Unicode support already built-in, which we think would be a nice help :) 13:02
JimmyZ Felipe is the Core dev in the PHP project, that' s great, I earn money by using PHP
I'd like to see PHP on parrot too. 13:03
good morning jay
whiteknight We had an old PHP compiler a long time ago, but it uses a lot of our old libraries and isn't maintained 13:04
We can definitely do better now
Felipe great
whiteknight: where is this code? github.com/parrot? 13:05
JimmyZ Felipe: github.com/bschmalhofer/pipp
Felipe thanks 13:06
JimmyZ or Pipp.org
JimmyZ created github.com/pipp/pipp 13:07
jay bubaflub's code indicates that winxed uses type int for both int and long. Does winxed use longs for everything, or does it bomb if it gets a number larger than an int can handle? 13:09
whiteknight Felipe: github.com/parrot contains the parrot core repository and many other related projects. Pipp is the old PHP compiler. I don't think it works
jay: Parrot only exposes the notion of "INTVAL", which is typically defined as "int" in your C compiler
jay: Our native types do not differentiate between "int" and "long" 13:10
jay Let me chew on "exposes" for a minute...
whiteknight jay: PIR has 4 register types: INTVAL, FLOATVAL, STRING, and PMC
so those are the thigns you can use natively from PIR
You can wrap other types in custom PMCs
jay Ok, gotcha. So a potentially massive array in column-major format really needs to be a custom PMC, it can't be a simple class on top of FixedFloatArray or something. 13:11
13:14 jsut joined
Felipe whiteknight: Ok 13:16
whiteknight jay: any complex type really needs to be a PMC, unless you can fit it into a single integer, float, or string
jay: Have you looked at the Parrot-Linear-Algebra project? I have array PMCs already. It shouldn't be too hard to modify the backing data store to use an mmapped file instead of a malloc'd array 13:17
dalek p: 0e40138 | jonathan++ | src/how/NQPConcreteRoleHOW.pm:
Add missing .^does_list to NQPConcreteRoleHOW.
whiteknight jay: And PLA supports arrays in both column-major and row-major formats. That makes things like lazy transposes extremely easy 13:18
CBLAS operations typically include a flag to differentiate between the two formats as well
dalek kudo/nom: c6ec331 | jonathan++ | src/Perl6/Metamodel/RoleToClassApplier.pm:
Update RoleToClassApplier so it can handle NQP roles.
bubaflub ~ 13:22
dalek kudo/qregex: c6ec331 | jonathan++ | src/Perl6/Metamodel/RoleToClassApplier.pm:
Update RoleToClassApplier so it can handle NQP roles.
13:28
kudo/qregex: eadc8a6 | pmichaud++ | src/Perl6/Metamodel/RoleToClassApplier.pm:
Merge branch 'nom' into qregex
kudo/nom: a1c00f5 | jonathan++ | src/Perl6/Metamodel/RoleToRoleApplier.pm:
Update RoleToRoleApplier. Now a Perl 6 class can have multiple NQP roles mixed in to it, as well as other Perl 6 roles in the mix.
p/qregex: 6612b1f | jonathan++ | src/how/NQP (2 files):
A renaming to standardize the meta-role specialization API between NQP and Rakudo.
p/qregex: 0e40138 | jonathan++ | src/how/NQPConcreteRoleHOW.pm:
Add missing .^does_list to NQPConcreteRoleHOW.
p/qregex: 69aa482 | pmichaud++ | src/how/NQP (3 files):
Merge branch 'master' into qregex
13:30 bluescreen joined
jay whiteknight: yes I wasn't worried about column vs row-major, but handling more than 2^31 -1 elements. 13:30
whiteknight jay: The only issue right now is that PLA does not support file-backed memory stores through mmap. It's not a hard addition to make 13:32
The only decision that would need to be made is whether the capability should be bolted on to the existing types, or whether we should subclass 13:33
moritz
.oO( compose it as a role... oh, wait )
13:34
jay But where int is 4-byte, at the very least the indexing would collapse in an HLL unless there were a kludge using doubles, right?
whiteknight jay: Yeah, at the moment all indexing is done with INTVAL. If you have a 64 bit system, you can compile Parrot to use "long" for INTVAL and then it should all magically work
if you're on a 32-bit system, we would need something else. On that system, a lot of stuff would fall apart 13:35
or, on my win64 machine I have to define INTVAL to be "long long" because the compiler there is awesome
moritz on 32bit system you'll not be happy with an array of 2^31 floats anyway :-) 13:36
jay Ok. I'm sure there are fixes like that. But I'm thinking in my 'R Project' world where the goal is to provide software that works for everyone with no fuss.
moritz considering that you can only address so much memory with 32 bit...
jay moritz: the issue isn't the atomic elelemt, the issue is the indexing. But no, I'm not considering 32-bit systems. 13:37
whiteknight jay: Well, on a 32-bit system, Pointers aren't even large enough to contain such a large datastructure, neither are the integers used to index into it
jay: If you're on a 64-bit system, we can make sure the INTVAL type is 64 bits long, and then our indices are 64-bits
jay Right. Forget 32-bit (I'm willing to toss that). Ok, I'll revisit this later, of course. I'm "in the zone" right now on GSL, and just hit this int/long distinction as I looked through bubaflub's GMP. 13:39
whiteknight okay
There is a way to query Parrot to find the size of INTVAL on your system. I'll have to look that up for you so you can figure it out 13:40
jay Thx! 13:41
bubaflub parrot_config intvalsize
should do the trick 13:42
also accessible from PIR
jay Thanks. Just copied it into my RANDOM.NOTES for safe keeping. 13:43
bubaflub: two more for you. In "How it works" simple typo, grep for "icnluded". 13:45
dalek rrot-gmp: 26f8ee5 | bubaflub++ | README.md:
fix typo, jay++
13:46
jay bubaflub: in bin/gmpdoc2winxed.pl I think the first "die" message should be change... it currently refers to gmpdoc2yml.pl, which I imagine was a previous version that is dead.
bubaflub jay: yes, that is correct
dalek rrot-gmp: 8654374 | bubaflub++ | bin/gmpdoc2winxed.pl:
fix typo, jay++
13:47
bubaflub jay: i suppose i could use $0 in perl to refer to the name of the script that is running
jay: also re
;
INTVAL size
when Parrot configs it dumps a bunch of configuration information into a hash - like CC flags, stuff that has been probed for, etc.
you can get at that information via the command-line with parrot_config 13:48
and you can get at it in PIR, see my setup.winxed line 72 13:49
dalek p: 69aa482 | pmichaud++ | src/how/NQP (3 files):
Merge branch 'master' into qregex
bubaflub i think you need to include iglobals.pasm; there should be a bunch of other examples lying around as well
jay Ok, good to know. Yes, intvalsize is 8. I imagine size_t is the same. 13:51
whiteknight size_t should be big enough to hold a pointer at least, so I would assume it is 8 there 13:52
jay Interesting: long double is 16, so we might have a problem with that in our nci bindings, bubaflub? 13:53
13:53 Hunger left 13:54 Hunger joined
bubaflub jay: dunno. i haven't run into any problems yet 13:54
but that doesn't mean you're wrong
jay I may know soon. I have a function with is trying to return a long double.
whiteknight You probably would need to define FLOATVAL to be "long double" in your Parrot 13:55
otherwise, you're going to lose precision as soon as you try to store it in a native PMC type or a native register
jay ok 13:56
dalek kudo/nom: eadc8a6 | pmichaud++ | src/Perl6/Metamodel/RoleToClassApplier.pm:
Merge branch 'nom' into qregex
kudo/nom: 2224f72 | pmichaud++ | src/Perl6/ (2 files):
Initial fixes to use QRegex for parsing/compilation.
kudo/nom: 3bd7685 | pmichaud++ | src/Perl6/ (3 files):
Merge branch 'qregex' into nom
kudo/qregex: 2224f72 | pmichaud++ | src/Perl6/ (2 files):
Initial fixes to use QRegex for parsing/compilation.
kudo/nom: 8ddd8e9 | pmichaud++ | tools/build/NQP_REVISION:
NQP_REVISION bump to get role and regex improvements.
13:57
jay bubaflub, in your c_to_nci_mappings.yml I think size_t is likely going to need to be l instead of i for increased chances at portability. 14:00
bubaflub jay: ok
jay That was a headache for us in the R bigmemory project, trying to support various platforms and compilers. 14:01
whiteknight jay: It's a headache for everybody. Parrot tries to smooth out the differences through abstractions, but we obviously can't do a perfect job of it 14:02
jay Yeah, but at least you guys are thinking about it! 14:03
whiteknight jay: If you want to use PLA, I'm happy to add whatever features you want (or you can fork it and add them yourself!) If not, you're welcome to steal any code you like from it 14:09
jay Thanks. Will get there eventually. My work queue is: GSL statistics followed by NQR basics including the GSL functions; I will look at PLA more carefully before long, though. 14:12
whiteknight okay, awesome. Let me know what you need 14:14
jay Willdo. I know you are straight out with the impending version release, though. 14:15
dalek kudo: b5c1614 | moritz++ | build/PARROT_REVISION:
bump PARROT_REVISION for testing
14:18
kudo: b4486ed | moritz++ | src/Perl6/Compiler/Module.pm:
unconfuse order of alternatives in error message
14:23 preflex left 14:27 theory joined 14:28 preflex joined
dalek kudo/nom: 9ffc446 | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Add Regex class as a subclass of Method.
14:47
kudo/nom: bfd28b0 | jonathan++ | src/Perl6/Actions.pm:
Factor out a bunch of the stuff in method_def, and re-use it from regex_def. Also gut the protoregex section of the code.
14:51
14:53 logie joined
dukeleto ~~ 14:54
whiteknight good morning, dukeleto 14:55
dalek p: a8ba4b1 | pmichaud++ | src/QRegex/Cursor.nqp:
Switch QRegex::Cursor to NQPCursorRole and export it.
14:56
dukeleto whiteknight: mornin' 14:57
15:00 hercynium joined 15:01 darbelo joined
dalek kudo/nom: fcfd48e | jonathan++ | src/Perl6/Actions.pm:
Refactor method installation and re-use it in regex_def.
15:20
kudo/nom: e605a5f | jonathan++ | src/Perl6/Actions.pm:
Ensure there's a self register for the regex engine.
15:26 theory left
dukeleto blarg 15:34
whiteknight ? 15:35
dukeleto it was too quiet in here 15:36
bubaflub morning dukeleto 15:37
dalek kudo/nom: 714f72c | jonathan++ | src/Perl6/Actions.pm:
Fix up anon methods a bit more.
15:44
cotto ~~ 15:49
whiteknight hello cotto
cotto hi whiteknight 15:50
dalek kudo/nom: 351390d | pmichaud++ | tools/build/NQP_REVISION:
Bump NQP_REVISION to get NQPCursorRole.
15:55
kudo/nom: 54d98bd | pmichaud++ | src/Perl6/Actions.pm:
Merge branch 'nom' of github.com:rakudo/rakudo into nom
kudo/nom: 3fdad82 | jonathan++ | / (4 files):
Get GrammarHOW set up as the HOW for the grammar package declarator. It doesn't do anything more than ClassHOW for now.
16:05
16:06 lichtkind joined 16:08 theory joined
dalek kudo/nom: 5ee1df9 | pmichaud++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Make NQPCursorRole available via BOOTSTRAP.
16:10
p: 111cd0e | jonathan++ | src/how/NQPAttribute.pm:
NQPAttribute.has_accessor
16:13 daniel-s left, daniel-s joined 16:16 JimmyZ left 16:18 ambs joined 16:19 daniel-s left
dalek p: 10d94ef | jonathan++ | src/how/NQPAttribute.pm:
More API fleshing out to keep Rakudo happy.
16:22
kudo/nom: bc88e7e | pmichaud++ | / (6 files):
Stub in some regex-related classes.
16:30
16:32 dmalcolm joined 16:44 rurban_ joined 16:46 rurban left, rurban_ is now known as rurban 16:48 alester joined 16:51 mj41 left
cotto_work ~~ 16:54
dukeleto cotto_work: mornin'
16:57 contingencyplan joined 17:00 Kulag left 17:01 Kulag joined
dalek p: 3dcf683 | jonathan++ | src/NQP/Actions.pm:
Need to decontainerize invocant in attribute accesses in NQP.
17:12
p: 2c89ff1 | jonathan++ | src/how/NQPAttribute.pm:
Fix .type and disable not-really-right accessor generation for now (regresses a test, but the test is bogus too).
17:14 UltraDM left 17:26 mj41 joined
NotFound ~~ 17:27
I've been fighting with NetworkManager for hours
But I win :)
18:03 ligne left 18:29 mtk left 18:33 mtk joined 18:34 mtk left, mtk joined 18:53 Eclesia joined
Eclesia hi 18:53
dukeleto Eclesia: wazzup 18:55
Eclesia awful day ... going for a 4day training next week 18:56
dalek kudo/nom: ffa93fc | pmichaud++ | src/core/ (2 files):
Add initial Cursor and Match classes. Cursor has a commented-out method,

  (It works fine when outside of the setting.)
18:58
kudo/nom: c0e38e1 | pmichaud++ | src/core/Cursor.pm:
Remove debugging says from Cursor.BUILDMATCH.
19:05
tadzik dukeleto: oh hai 19:10
are you before or after the talk?
dalek kudo/nom: 8fc705e | jonathan++ | src/Perl6/Metamodel/RoleToClassApplier.pm:
A little tweak to the role applier to avoid triggering an infinite recursion that pmichaud++ ran into (there's some deeper issue to hunt here, but this should unblock things).
19:16
kudo/nom: 2a681a4 | pmichaud++ | src/core/Cursor.pm:
Add Cursor.MATCHBUILD, which builds the match object.
19:27
kudo/nom: 6e1fa32 | pmichaud++ | src/core/Grammar.pm:
Uncomment Grammar type.
19:28
19:33 dodathome left 20:06 SHODAN left
benabik Interesting note: NQP master appears to not build when I use g++ to build Parrot on Darwin/x86 20:07
whiteknight what do you mean, "not build"? 20:11
benabik Error out on pointer type conversions.
Most specifically: `P6opaque.c:858: error: cannot convert ā€˜P6opaqueInstance*’ to ā€˜PMC*’ in initialization` 20:12
cotto_work probably an easy fix
sorear it seems that jnthn__ incorrectly assumed that .c files for Parrot extensions would be compiled using a C compiler
cotto_work definitely not Parrot's fault
sorear this is being discussed in #perl6 now
benabik Yes, it is. But I thought that people here might want to know that ATM, g++ Parrot builds won't work with 6model. 20:13
jnthn__ sorear: I'd point out that NQP is NQP, *not* Parrot.
sorear: The policy there need not be whatever Parrot's policy is.
And my policy is that I write C and if others want to contribute patches to fix up things so it builds on C++ too, that's awesome. 20:14
benabik jnthn__: I'm fine with that policy. :-)
cotto_work benabik: that's relevant if 6model can't be made to work, but I doubt the case.
whiteknight Man, I wish Parrot were written in C and not C-as-long-as-it's-also-C++
benabik cotto_work: Well, it's relevant if you're trying to build rakudo master today. :-D
I don't think I'm the only one who periodically builds with g++ 20:15
whiteknight In the not-so-distant future 6model will be in Parrot, and it will certainly build then
cotto_work yes
benabik: I'm becoming a fan, just because it's better at catching some classes of bugs 20:16
whiteknight jnthn__: speaking of migrating 6model into Parrot, how long until you think it's stable enough to attempt? 20:20
jnthn__ whiteknight: Stability in API sense or code sense? 20:21
whiteknight either. I've been waiting because you said the code was undergoing changes with the Rakudo nom migration
jnthn__ whiteknight: Though it's done quite well in both lately. It's been extended here and there.
Yeah
What was there has held up pretty well in the face of Rakudo's needs, and the extra bits went in quite easily.
whiteknight any big changes you can forsee? 20:22
jnthn__ Yeah 20:24
dalek kudo/nom: 07acbeb | pmichaud++ | src/Perl6/ (2 files):
Refactor building of regex methods, enable /.../ (but it produces a warning).
jnthn__ REPR PMC is going away and probably STable one.
(more)
Actually that'll make your integration work easier.
whiteknight okay. Why are those going away, and are they being replaced by anything?
cotto_work \\o/ 20:25
jnthn__ whiteknight: Direct pointers.
Oh, and S-tables will be ref-counted, I expect.
whiteknight okay, so reprs and stables are going to be able to be accessed and inspected from PIR?
be unable*
jnthn__ whiteknight: Well, you don't really introspect a repr
whiteknight: reprs are *very* low level really 20:26
They represent 6model's binding to the underlying VM.
NotFound whiteknight: the stream library test failures on windows are due to text files used by the tests converted to \\r\\n line ending by the git used.
jnthn__ whiteknight: And stables only have a few operations you'd sanely perform on them.
cotto_work NotFound: I was trying to trace through that library to find a proper fix. It's convoluted. 20:27
jnthn__ whiteknight: Really stables are just infrastructure. They hang on to a bunch of stuff.
They don't themselves have any semantics.
whiteknight jnthn__: okay
jnthn__ whiteknight: The upshot is that pretty much everything that's "interesting" is a first class object.
Which is kinda right :)
whiteknight jnthn__: We can still create REPRs at the PIR/NQP level, right? 20:28
jnthn__ whiteknight: Currently 6model has no support for doing that.
whiteknight: Again, a REPR is a very low level thing.
whiteknight Oh, I thought it did
okay, so what can be defined at the PIR level? Just the class itself? 20:29
jnthn__ If you think you're going to be writing a lot of them, then you've probably mis-understood 6model somewhere. :)
whiteknight: Every object is described by a meta-object.
You can write those in PIR, NQP, Perl 6 or just whatever.
whiteknight and meta-objects can be defined in PIR?
okay
jnthn__ That's where the interesting stuff mostly is
dalek p: 69cc5ac | pmichaud++ | src/ (2 files):
Refactor Match object construction, add nqp::hash.
whiteknight the terminology throws me for a loop every time
jnthn__ REPRs work at the level of "how do I lay out a piece of memory to store attributes"
Which there's really not that many ways to do. :) 20:30
Or at least, not that many *interesting* ways to do.
whiteknight ok
benabik Seems likely (to me) Parrot may only have a REPR for "things that are GCed" and "things that aren't". 20:31
NotFound cotto_work: looks like the only proper fix for some tests is to use a binary file.
whiteknight I'm signing off now, I'll be back later.
cotto_work whiteknight: adios
20:31 whiteknight left 20:35 plobsing left 20:37 fperrad left
dalek kudo/nom: a618c39 | pmichaud++ | tools/build/NQP_REVISION:
Bump NQP_REVISION.
20:38
kudo/nom: d488f2d | pmichaud++ | src/Perl6/Actions.pm:
Fix scope of anonymous regexes.
20:38 Eclesia left
kudo/nom: 02cc95b | pmichaud++ | / (2 files):
Add first version of Regex.ACCEPTS .
20:48
R: f9b6f0a | (Jay Emerson)++ | README:
Updated README
20:52
L: 49c1ea2 | (Jay Emerson)++ | README:
Updated README
jay Ok, Parroters, I decided it would be good for my karma to really join in... github.com/NQRCore 20:53
Special thanks to bubaflub, dukeleto, and whiteknight (and others for chiming in with pearls of wisdom) for helping be get started. 20:54
benabik jay++: I think if you add an AUTHORS file formatted similarly to Parrot's, dalek will give you karma instead of this (Jay Emerson) guy.
If you care. 20:55
jay Thanks. At the end of a long day, a beer is a good reward... but I'll look at that. !_)
benabik jay: You've earned a beer, but I doubt I'm close enough to hand you one. :-) 20:56
dalek L: 06a1229 | (Jay Emerson)++ | CREDITS:
For karma...
20:59
L: d08ee21 | (Jay Emerson)++ | CREDITS:
Better karma?
21:01
benabik jay: Or I was wrong? :-/ 21:03
jay benabik: not sure. There is a note in the CREDITS file To turn this file into a author map for git-svn, see tools/dev/mk_
author_map.pl
so maybe I need to do a little more 21:04
benabik jay: I think that's a left over note from when parrot used SVN.
jay Not high-priority. !_)
cotto_work jay: it only works for Parrot's CREDITS 21:06
dalek L: f294667 | (Jay Emerson)++ | CREDITS:
Redid name? Last try...
tadzik Source and destination overlap in memcpy -- I believe Parrot's doing some forbidden-in-C practices
wklej.org/id/561555/ -- rakudo segfault, but the things I mention regard to Parrot 21:07
21:07 bluescreen left 21:10 soh_cah_toa joined
bubaflub jay: you need to be in the Parrot CREDITS i think for that to work... 21:11
dalek kudo/nom: 8e83387 | jonathan++ | / (3 files):
Factor default parent handling out into a role.
21:12
kudo/nom: 8c44a7a | jonathan++ | src/Perl6/Metamodel/ (2 files):
GrammarHOW gets Grammar as default parent.
jay Ok, thanks bubaflub. Np. 21:18
Felipe are you working in make R run in Parrot? 21:20
jay Felipe: no, just attempting the basic R (S language) syntax from scratch... kind of a sandbox effort at this point to learn more about Parrot. 21:21
And maybe providing low-level GSL bindings along the way.
Felipe great. I'm learning the acronyms yet. :P 21:28
jay Sorry... ask questions if you want. I'm just getting started myself.
dalek rrot: 5012b89 | NotFound++ | t/op/exceptions.t:
fix and unTODO an exception test that lacked finalize
21:29
rrot: 70ec43f | NotFound++ | t/pmc/iterator.t:
fix and unTODO a wrong iterator test
21:30
dukeleto ~~ 21:33
tadzik dukeleto: o/ 21:34
Felipe ~~
21:34 ambs left
jay ping bubaflub 21:34
bubaflub pong jay
soh_cah_toa dukeleto: do you know the header where the enum_class_* enumerations are defined?
dukeleto: i need to add enum_class_PackfileView b/c i get a build error w/ the "parrot_utils" target 21:35
and git-grep isn't helping like usual
jay bubaflub: Suppose I do a dynload and set_global in my .sub anon load of an HLL, so:
set_global [], 'gsl_ran_gaussian_pdf', nci
Felipe what about setup an opengrok for parrot?
jay How do I call this function from NQP or PIR?
Felipe It's nice for searching and reading code :) 21:36
dukeleto tadzik: i can haz commit bit on panda? I have fixes for your readme 21:37
tadzik dukeleto: sure
bubaflub jay: if i'm not mistaken, that just puts it in the global namespace. you can probably do a get_global
like
tadzik dukeleto: how was the talk?
bubaflub $P0 = get_global "gsl_ran_gaussian_pdf"
tadzik dukeleto: done
dukeleto tadzik: still writing it. I give the talk in less than 5 hours :)
jay Ok, but then what: $P0(arg1, arg2)? That can't be valid. Is there some 'eval' operator?
dukeleto Felipe: what is an opengrok? 21:38
bubaflub $P0.invoke i think
dukeleto Felipe: also, hello and welcome to #parrot
bubaflub or maybe .call
lemme check
dukeleto soh_cah_toa: hmmm
Felipe dukeleto: hello, thanks.
tadzik dukeleto: oh nice :) I'd be asleep then, unfortunately
dukeleto soh_cah_toa: ack is your friend
bubaflub jay: look at t/compilers/imcc/syn/pcc.t line 88 - 21:39
.local pmc the_sub
dukeleto soh_cah_toa: include/parrot/core_pmcs.h
bubaflub the_sub = get_global "_sub";
soh_cah_toa dukeleto: yeah, just used ctags to find it. thanks
bubaflub the_sub(10,20)
.end
Felipe dukeleto: opengrok is just like lxr. it's a web-based source code search engine.
dukeleto Felipe: sounds awesome. go for it! 21:40
jay bubaflub, ok, give me a few minutes.
bubaflub jay: ok
NotFound I think you don't need that, if the_sub is in the current namespace that is done automatically
BTW $P0(...) is valid 21:41
bubaflub NotFound++
dukeleto tadzik: you ok with a readme in markdown for panda?
jay And would save a line of code. I'll try them both. NOt quite there.
tadzik dukeleto: I don't mind
21:43 Psyche^ joined
dukeleto tadzik: which features would you say are most important to add to panda next? 21:43
tadzik dukeleto: maybe tracking files and removing modules? I dunno, whatever the users want 21:45
removing the dependency on prove would be nice 21:46
dukeleto tadzik: over to #perl6 21:48
21:48 Patterner left, Psyche^ is now known as Patterner
dalek rrot: 5d02f0c | soh_cah_toa++ | frontend/pbc_disassemble/main.c:
Fixed output of --help switch for pbc_disassemble to be vertically aligned.
21:53
soh_cah_toa bleh, that wasn't the help switch it was -o
whatever, it's fixed 21:54
NotFound That's funny: we have a TODO test for the String trans method with unicode, and the pod of trans says: Translate ascii string C<src> with entries from C<trans_table>. 21:55
Same for is_integer 21:56
dalek kudo/nom: 96bf65f | jonathan++ | / (3 files):
Factor BUILDplan creation into a role.
21:57
kudo/nom: dd360f8 | jonathan++ | / (3 files):
Factor MRO-based method dispatch out into a role.
kudo/nom: b58cea2 | jonathan++ | / (3 files):
Factor MRO-based type checking out into a role.
Felipe is there a list for Parrot tickets? 21:58
tadzik yes, trac.parrot.org 21:59
Felipe I mean, a mailing list
like parrot-commits
tadzik ah, I think parrot-dev receives ticket notifications 22:00
Felipe okay 22:01
writtencode Hey guys, back again; I had asked yesterday about writing a language using parrot or LLVM, and it looks like I'll be using parrot because it seems a little more useful/ you guys are a little more helpful :). Thanks for your help yesterday, and another question: were I to want to do threading in my language on top of parrot, would I be able to do it directly through access to to system functions like popen()? 22:03
22:07 mj41 left 22:08 hercynium left
jay Bubaflub, if you don't quickly see something wrong, don't worry about it. But this seems to make sense to me... gist.github.com/1081448 22:08
dalek R: 5fb3f57 | (Jay Emerson)++ | src/nqr (3 files):
Attempting globals for bindings
22:09
dukeleto bubaflub: did you do your mid-term eval yet?
bubaflub dukeleto: yep 22:10
dukeleto benabik: please do your gsoc midterm eval
Felipe does Parrot implements SSA form?
dukeleto bubaflub: i see now that you did. I will now bug the students who didn't
Felipe: i am not sure that we do, but i am also not sure that SSA form is useful when not dealing with stacks. I could be very wrong about that, though. 22:11
writtencode dukeleto: what class is this?
dukeleto writtencode: what class is what?
bubaflub jay: looks good to me 22:12
writtencode dukeleto: "I will now bug the students who didn't" 22:13
jay Argh. That isn't good, then.
Unless I've just stumbled on some nci bug?
dukeleto writtencode: google summer of code 22:15
msg tcurtis please fill out your gsoc midterm evaluation! 22:16
aloha OK. I'll deliver the message.
dukeleto msg soh_cah_toa please fill out your gsoc midterm evaluation! 22:17
aloha OK. I'll deliver the message.
tadzik (:
bubaflub jay: no, lemme look further...
jay: in the :init :anon method you're loadlib 'libgsl.so' 22:18
in dnorm2 you are loadlib 'libgsl'
you can check if libgsl is null
dukeleto msg benabik please fill out your gsoc midterm evaluation!
aloha OK. I'll deliver the message.
dukeleto looks like I get to bug some mentors too
jay bubaflub: ah... will try that. Just a sec 22:19
dukeleto jay: you probably want : loadlib 'libgsl.so'
jay: and you may have to use the full path to libgsl.so, unless you fiddle with some env vars
jay bubaflub++. That was it, no .so needed. 22:20
dukeleto: No, it's finding it... I fought that battle a few days ago. !-) Thx.
dukeleto jay: are you on OS X?
jay Ok, very cool. If I can do the same thing in two different ways then I've learned something.
Ubuntu Linux.
dukeleto jay: ok, just checking
jay: and glad to hear it :) 22:21
jay If I'm pinched I can dual-book Windows 7 64-bit and will moan and groan every inch of the way.
(boot)
bubaflub jay: i'd recommend checking the results of both loadilb and dlfunc - if they are null then die with an error message
jay Yes, I'll get friendlier... just being minimalist now. I do that in other examples, so I know how, thanks. 22:22
But it would have caught this particular one, I admit. bibaflub++ I stand properly admonished.
bubaflub jay: no biggie - it's a one time fix. once the bindings work they just work. 22:23
dalek R: ed13905 | (Jay Emerson)++ | src/nqr (2 files):
bubaflub++ caught the unneeded .so
jay dinner time, back soon
22:30 plobsing joined
dalek rrot: 5018f0c | NotFound++ | / (2 files):
make String is_integer method accept all encodings,

encoding naming
22:31
22:33 bluescreen joined 22:34 whiteknight joined 22:36 plobsing left
Felipe are the .t files still needing to be converted to PIR tests? 22:38
cotto_work Felipe: you can if you want to, but it's not a high priority. 22:40
dalek kudo/nom: b88391c | jonathan++ | src/Perl6/Metamodel/BaseType.pm:
Fix a thinko in BaseType's MRO generation.
kudo/nom: beba09a | jonathan++ | src/Perl6/Metamodel/EnumHOW.pm:
Flesh out EnumHOW a little more.
whiteknight Felipe: where it makes sense, yes. We aren't as aggressive about converting anymore
Felipe ah ok 22:41
dalek rrot: c2c0d12 | NotFound++ | src/pmc/string.pmc:
codingstd: no space after opening parens
jay whiteknight, is there an easy change so that (Jay Emerson) becomes jay in my commits? 22:47
whiteknight jay: You need a github username "jay" 22:48
Maybe also add your name to CREDITS, I think dalek might read that file for names
Felipe jay: help.github.com/set-your-user-name-...hub-token/
jay Ok, I'll do that. 22:49
whiteknight sorear may know more about dalek's mechanics 22:50
dalek R: 3c00f31 | (Jay Emerson)++ | src/nqr.pir:
Updated loading message
22:51
cotto_work jay: I can fix that. 22:54
sorear most important thing is, you need a CREDITS entry 22:55
whiteknight my mouse appears to be completely dead today
sorear with N:, U:, and E:
whiteknight surfing the internet is now officially more hassle than it is worth
jay Cotto, thanks. I changed the github.user to jay (in theory). My actual github username is jayemerson.
cotto_work jay: what email address does github know you buy?
*by
jay john.emerson@yale.edu 22:56
cotto_work that should do it
dalek rrot: 1024f0d | cotto++ | / (5 files):
Merge branch 'master' of github.com:parrot/parrot
22:57
rrot: 2b98378 | cotto++ | / (2 files):
add jay++ to CREDITS
jay thx! Now I'll need to make more progress to test it out...
cotto_work wonders what he just merged
writtencode Hey guys, it's been a bit since I last asked, so quick question: were I to want to, would I be able to use system functions like popen to control threads while running on top of parrot?
jay cotto: now I can rule the world, right? 22:58
NotFound writtencode: popen for threads?
cotto_work jay: it might take a couple months, but yes
Felipe hehe
jay excellent. I knew I was in the right place.
NotFound writtencode: I've always thought the the 'p' was for 'process' ;)
whiteknight writtencode: We have an NCI functionality to call functions from native librarys 22:59
writtencode Ok, so I would be able to implement multithreading directly through system calls?
NotFound: you're right, I'm just a bit tired :/ 23:01
whiteknight writtencode: Yes. We don't have good thread safety, locking, or safe data sharing right now
writtencode: so if you run Parrot in multiple threads, you will want multiple interpreters, and you need to find a safe way to share data 23:02
NotFound You don't need native calls to use popen, you can use: filehandle.open('command', 'rp') (or 'wp')
writtencode whiteknight: thanks. I've decided I'll be using Parrot, because the guys over at LLVM were not too helpful, and it seemed like parrot has what I want. As for sharing data, I'll have to think about that. My first thought is sockets, but that sounds ugly :/ 23:03
NotFound: gracias, senor.
whiteknight writtencode: Like I said, we are designing a new threading system, so we won't be worthless forever :)
NotFound For sharing raw data you can use MappedByteArray, but the synchronization must be done by hand.
writtencode whiteknight: hahaha, you've been more than helpful :)
NotFound: I'll search the docs for that, thanks! 23:04
Alright, I have to head off to work. Thanks again for your help, guys, and good luck in the google summer of code. 23:05
NotFound A mixed approch will be doable: the mapped for sharing and the socket for synch 23:06
whiteknight I feel like if I punch my laptop a few more times, the mouse might start working again 23:08
or, the whole thing will stop
23:08 darbelo left 23:09 darbelo joined, darbelo left
NotFound whiteknight: do you realize that mouses are cheap? ;) 23:09
whiteknight if I sign off in the next few minutes, you'll know why
NotFound: my wife is at the store right now, she said she would buy one if she found it 23:10
NotFound Will be a shame to read in the news: Parrot development blocked because of a mouse! 23:11
Felipe heheh
whiteknight NotFound: we have other developers who don't have the hardware or irrational personality problems that I have 23:12
NotFound Now that you tell, I have a failing cable on my laptop, it intermitently disconnects. And let's not talk about irrationality.... 23:13
But I have two laptops, a netbook and a tablet, not much of a problem. 23:15
whiteknight I have one laptop, and a child who hates laptops
NotFound Using the tablet as a mouse via vnc is amusing.
whiteknight: it can be worse, I know of a guy who uses a expensive cintiq drawing tablet and has a child who enjoy it. 23:17
23:19 whiteknight left, whiteknight joined
jay Suppose I have a FixedFloatArray in $P0. Does get.pointer($P0) give me the pointer I'll need to pass to a C function? 23:20
whiteknight jay: yes 23:21
the NCI signature "p" calls get_pointer for you
jay Ooo... so the func($P0, 1, 2) would get the pointer for $P0 automatically? 23:22
I mean, if the signature is something liek "dpii" returning a double of course. 23:23
whiteknight yes 23:25
its magic 23:26
also, plobsing++ is a rockstar
jay $P0 = new "FixedFloatArray", 2 not happy... says "init_pmc() not implemented in class 'FixedFloatArray'"? Got to be close... 23:28
NotFound jay: use ["FixedFloatArray"]
jay You mean just use brackets around the quoted type? 23:29
NotFound jay: yes
The variant with plain string is discouraged, and probably does not support some features. 23:30
jay get_number() not implemented in class 'FixedFloatArray'
Wait... that could be an error after creation that is my fault. Just a sec...
whiteknight this is starting to sound obnoxious. Don't we have tests for FixedFloatArray?
jay Ok, probably my fault again. Then I can't do something like $P0[1] = 1.23? 23:31
cotto_work we could use a few extra docstars
NotFound In a quick view, looks like no there are no test for it that covers init_int 23:32
whiteknight $P0[1] = 1.23 should work, for an FFA
and I'm going to be righteously pissed if it doesn't 23:33
jay Hmm... no, it does. Something else. I'm all set, finally making the call:
ans = gsl_stats_mean($P0, 1, 2)
and the error is get_number() not implemented in class 'FixedFloatArray' 23:34
signature 'dpll' 23:35
Felipe I see a leak dpaste.com/568083/plain/
23:39 whiteknight left, whiteknight joined
whiteknight got a mouse! 23:40
Felipe \\o/
jay Congrats, whiteknight!
NotFound Felipe: yes, looks like a leak in imcc_compile_buffer_safe 23:41
Felipe NotFound: on imcc_cleanup_input(), Parrot_str_free_cstring() is just called when is_file is 0.
bubaflub jay: got any code for us to look at? 23:42
Felipe in my case it is 1.
jay bubaflub, yes, almost there...
NotFound That's the beauty of imcc, special cases everywhere 23:43
Felipe hm 23:44
jay Try this: gist.github.com/1081586 23:45
DAMN... Sorry. Stop looking. 23:47
It works. Mea culpa entirely. Jay--
jay-- 23:48
NotFound Felipe: Can you fill a trac ticket about that? 23:49
23:49 dmalcolm left
jay Thanks for looking, bubaflub++ and whiteknight++. This is a huge step forward, moving from simple numbers to vectors. 23:50
dalek R: 765ade5 | (Jay Emerson)++ | src/nqr (3 files):
YES! First working example with FixedFloatArray
23:51
bubaflub jay: what as the problem?
jay I copied-and-pasted and then didn't *quite* change everything, in the end. But the earlier help getting the format right for creating the array, and that plobsing++ pointer trick... invaluable.
23:52 logie left
bubaflub jay: great. what's the next step? removing the Q:PIR block and using NQP? 23:53
23:54 mtk left
jay Well, I worry a little about the types... NQP will let me shoot myself in the foot pretty easily. 23:55
Felipe NotFound: sure.
jay bubaflub... but I'd try one as an example to learn. I'll give it a go and if I hit a snag I'll ping you.
bubaflub jay: great. i'm not an NQP expert (or even novice) but there are plenty loitering in this room who are.
jay I'll just convert that function I just did... easy enough example, surely. 23:56
bubaflub jay: exactly.
jay: and that way you are certain it's your NQP that isn't working
jay I'm fairly confident in my NQP not working, yes.
NotFound I don't want to start a language war, but kindly suggest that for low level tests winxed may be easier. 23:57
jay NotFound: I'll sit back and listen to the debate... !_)
NotFound Too late for me to start a debate, 'night. 23:58
bubaflub haha
jay: i used Winxed because it's syntax is closer to JavaScript or C; NQP is, as you can expect, closer to Perl 6
jay I tend to write Perl that looks like C code, so maybe I should look at winxed. 23:59