|
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 | |