|
Parrot 2.5.0 Released! | parrot.org | Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | Priorities: review experimental features for promotion or removal, fix 'make html' (talk to Coke), update tutorial (talk to tcurtis), pre-release testing. Set by moderator on 13 July 2010. |
|||
| dalek | rrot: r48091 | darbelo++ | branches/gsoc_nfg/src/string/api.c: Avoid needless, roundabout transcoding operations in concatenation. |
00:09 | |
|
00:25
plobsing joined
|
|||
| tcurtis | atrodo: ping | 00:28 | |
|
00:30
lucian joined
00:32
gbacon joined
|
|||
| dalek | website: Chandon++ | Green Threads: The Task API | 00:35 | |
| website: www.parrot.org/content/green-threads-task-api | |||
| tcurtis | msg atrodo I think there's a bug in your lasm.pl's handling of comments. You get rid of them with a simple regex substitution on line 387. So, it doesn't handle # in strings(I think) or in sub names(this I know). | 00:37 | |
| purl | Message for atrodo stored. | ||
|
00:44
theory joined
|
|||
| cotto_work | It'd be nice to take the time to build a self-hosted lasm. | 00:45 | |
| cotto_work wishes he didn't have other bigger things to do. | |||
| chromatic | No kidding. | 00:46 | |
|
00:50
Chandon joined
|
|||
| ash_ | ping plobsing | 00:52 | |
| cotto_work | I can't find plobsing in DNS, ash_. | 00:53 | |
| ash_ | hmm, okay.... | ||
| darbelo | purl_work-- | ||
| ash_ wishes there was about 5~10 more hours in the day for a lot of things | 00:54 | ||
| cotto_work | I put on my cape and purl hat. | ||
| darbelo | ash_: Living on a 28 hour/day schedule is fun if you can manage it. | 00:55 | |
| ash_ | darbelo: i have no idea how that would work :P | 00:56 | |
| darbelo | xkcd.com/320/ | 00:57 | |
| dalek | rrot: r48092 | darbelo++ | branches/gsoc_nfg/src/string (2 files): Minor tweaks to get the concatenation lenght right. |
00:58 | |
| ash_ | ah, neat | ||
| darbelo | It's not an xkcd invention, but that makes for a concise explanation. | ||
| sorear | 12 hour days also rule | 01:00 | |
| because it turns out you only need about 2 hours of sleep dayly in that case | |||
| *and* it syncs up with day/night | |||
| ash_ | that would be cool too, a 12 hour day | 01:02 | |
| has a lot of breaks, so you don't get worn out as fast | 01:03 | ||
| jnthn | The only problem in reality is if you have $real-world things to do that don't fit with your chosen day length. | 01:04 | |
| cotto_work | rl doesn't care what your sleep schedule is. | 01:06 | |
| ash_ | some of it does, like lots of government regulated places and banks are only open during "normal business hours" | 01:07 | |
| cotto_work | That assumes that you're awake during normal business hours. | 01:09 | |
| ash_ | well if you need to use one of those services, you gotta be | 01:10 | |
| jnthn | Here in Sweden, the shop that sells beer has very insufficient hours. :-/ | 01:13 | |
| cotto_work | How unfortunate. | ||
| ash_ | thats no good, those should have the most hours | ||
| jnthn | ash_: I've lived/been in countries where that's pretty much the case too. :-) | 01:15 | |
| Though that's generally because they have very liberal "who can sell beer" policies. | |||
| ash_ | my dad made his own beer for a while | 01:18 | |
|
01:26
payload1 joined
|
|||
| atrodo | tcurtis> I assume you've played with it enough to discover this? | 01:29 | |
| tcurtis | atrodo: Not really. I've just looked at it a bit. | 01:32 | |
| ash_ | i wonder how hard it would be to modify obj-c to allow multiple parents... | 01:34 | |
| because then you'd have a class model thats the same as parrot | |||
| atrodo | okay, cool. But you're right. My haste has lead me to old, bad habits | ||
| jnthn | ash_: MI is...horrible implementation wise. | 01:35 | |
| ash_ | why? | 01:36 | |
| mro? | |||
| purl | mro is, like, the Digital sitecode for Marlboro, MA or Method Resolution Order or www.python.org/2.3/mro.html or one solution to the 'Diamond Problem' at en.wikipedia.org/wiki/Diamond_problem or Method Resolution Order or a pragma, see the 5.10 docs for details | ||
| jnthn | ash_: You can't build a v-table for dispatch, or do attribute storage allocation, so easily. | 01:37 | |
| With single inheritance, those are trivial. | |||
| ash_: I'm working on some blog posts around that topic atm. | |||
| tcurtis | jnthn: that depends on what you're implementing it on top of. If you have something like the P&W paper, it's really simple(although you probably need your lookup method to accept a flag to avoid searching parents to do nice MROs). | 01:39 | |
| ash_ | well... hmmm | ||
| in obj-c you can have multiple categories (p6 roles) on a single class | 01:40 | ||
| tcurtis | jnthn: although I think the attributes might be more complicated for that. | 01:41 | |
| ash_ | if they can resolve those lookup conflicts why couldn't they use the same rules to resolve class inheritance? | ||
| jnthn | tcurtis: Got a link to the P&W paper? | ||
| atrodo | p&w? | ||
| purl | p&w is tinyurl.com/23dfwut | ||
| atrodo | yep, thought someone had put that in | 01:42 | |
| cotto | ~~ | 01:43 | |
| you're welcome | |||
| jnthn | Thanks. | ||
| cotto | I'm really good at linking to things. ;) | 01:44 | |
| tcurtis | ash_: The object system in P&W doesn't know about the physical layout of the objects. | ||
| jnthn | Ah | ||
| That's the part I was thinking of. :-) | |||
| tcurtis | Might be able to do it by creating a wrapper object that basically holds one object of each parent "class" and delegating the appropriate methods to the appropriate object. That bit would be tricky. | 01:45 | |
| jnthn | tcurtis: Well, I'm pondering more a lazily pessimistic model. | 01:46 | |
| tcurtis: Build the SI structure, but if there's an MI child then attempts to access things in the parent, we know that the index offset is invalid and go take the slower path. | 01:47 | ||
| plobsing | ping ash_ | ||
| ash_ | plobsing: hi | ||
| purl | hola, ash_. | ||
| plobsing | how goes it? | 01:48 | |
| ash_ | good, i am working on a new nci_thunk_gen.pir (its now .nqp) that uses the new syntax and has a grammar for defining the signatures of nci thunks | 01:49 | |
| i am kinda stuck on my ideas for a runcore | |||
| and i wanted to talk to you about those | |||
| plobsing | ok. stuck how? | 01:50 | |
| ash_ | i tried building an example of the llvm-ir expanded runcore and i ran into a problem that kinda lead me into a slightly different direction | 01:51 | |
| tcurtis | By the way, ash_, I think protocols are closer to Perl 6 roles than categories. Categories are just a way to add methods to a class outside of its main definition. Protocols are equivalent to roles whose methods are all {...}. | ||
| ash_ | so... when you run a pbc it has to inflate everything, and that was my first problem, i can't seem to figure out how the constants table is inflated in pbc's | 01:52 | |
| plobsing | that magic happens in src/pack{file,out}.c | ||
| after unpacking, every bytecode segment has a pointer to an associated constant table | 01:53 | ||
|
01:54
mikehh joined,
hercynium joined
|
|||
| ash_ | i looked at those, but i couldn't figure out how to do it myself, but i think i might be going about this the wrong way... i can't tell, thats why i took a break from that and started working on the nci_thunk_gen.nqp to have n nci thunk generator that match the new syntax | 01:55 | |
| s/n/a/ | |||
| plobsing | but why are you looking to unpack bytecode? doesn't that get done before the runcore gets a handle on it? | ||
| GeJ | clock? | 01:57 | |
| purl | GeJ: LAX: Wed 6:57pm PDT / CHI: Wed 8:57pm CDT / NYC: Wed 9:57pm EDT / LON: Thu 2:57am BST / BER: Thu 3:57am CEST / IND: Thu 7:27am IST / TOK: Thu 10:57am JST / SYD: Thu 11:57am EST / | ||
| ash_ | yeah, thats why i think i am doing it wrong, in my sample i was trying more to translate a pbc to llvm-ir, which was dumb now that i think about it | ||
| but one thing i was thinking about (kinda as a result of me doing it wrong) was, couldn't pbc_to_exe expand the runloop? | 01:59 | ||
| plobsing | expand the runloop? like what perlcc is supposed to do? | 02:00 | |
| atrodo | tcurtis++ # thanks, I committed the proper way | 02:01 | |
| ash_ | maybe? | ||
| purl | Maybe not. | ||
| ash_ | i don't know what perlcc is | ||
| just thinking about it, thats all the llvm would do in the end anyways, it would turn add $I0, $I1 to an add_i_i(a, b); (more or less) | 02:02 | ||
| plobsing | that sounds like a good idea, but I think you might run into issues with non-linear control-flow | 02:03 | |
| ash_ | but if you did it in, say the pbc_to_exe, you don't have the llvm requirement, granted its not as dynamic | ||
| couldn't you fallback to the normal runloop for things that might be non-linear? | 02:04 | ||
| tcurtis | atrodo++ great. | ||
| plobsing | true. but most useful programs are non-linear. loops, functions, methods, branching. | ||
| ash_ | i think the llvm would run into those same problems, unless you re-compiling the runloop with the llvm every time the ops change | 02:05 | |
| plobsing | I suppose so. | 02:06 | |
| tcurtis | ash_, plobsing: if I'm understanding what ash_ is wanting to do correctly, loops/branches would be easy to encode: they'd just be gotos to labels at the same position in the expanded C code that corresponds to the PIR. | ||
| ash_ | i guess thats the whole point of the hotspot techniques though, to only compile the 'hot' parts of the code | ||
| tcurtis | continuation-y stuff would be harder, I expect. | 02:07 | |
| plobsing | tcurtis: that's all well and good, but the runloop has to have knowledge of all ops that can branch. Per the current design, any arbitrary op can in theory branch. | ||
| ash_ | hmm | ||
| tcurtis | plobsing: true enough. And computed gotos aren't available in C89, are they? | 02:08 | |
| plobsing | I think you could compile sections of ops that run linear (ops that branch are flagged as ':flow') | 02:09 | |
| so you could detect branching and do some magic and then drop into native between branches | 02:10 | ||
| tcurtis: AFAIK, computed goto is gcc-only | |||
| ash_ | yeah, i knew i would have to treat branches as special cases | 02:11 | |
| branches currently just increment/decrement the op pointer | 02:12 | ||
| plobsing | I think the old JIT played a similar game with the enternative op. | 02:13 | |
|
02:13
LoganLK joined
|
|||
| ash_ | maybe i should look at the old jit | 02:13 | |
| plobsing | don't. you'll go blind! | 02:14 | |
| ash_ | lol, okay | ||
| plobsing | but comming back to the idea about pbc_to_exe, I think that seems feasible. | 02:15 | |
| If you want to unpack PBC, have you had a look at the Packfile* PBCs? | |||
| s/PBCs/PMCs/ | |||
| ash_ | yeah, they do a lot of stuff, i tried to follow it along, since mostly the constants are what you need, but i got a bit lost because of all the ways things are interconnected | 02:16 | |
| i was thinking, for core ops it wouldn't be that hard, i don't know how dynamic ops would work though... i was thinking i could do those with the normal runloop when i encountered them in code | 02:18 | ||
| plobsing | I think that's the only way it could work. | 02:19 | |
| maybe you could play games with DLLs | 02:20 | ||
| but it would be tricky | |||
| ash_ | i'd rather just get the core working first | ||
| :P | |||
| plobsing | looking at the Packfile* PMCs, looks like they might be a little on the weak side for reading PBC. | 02:24 | |
| You can a) use the (deprecated but still widely used) PackFile structs b) fix the weaknesses yourself c) complain loudly and frequently until someone fixes them for you | 02:25 | ||
| (c is my least favorite option) | 02:26 | ||
|
02:26
notbenh1 joined
|
|||
| ash_ | which parts of the PackFile structs are deprecated? | 02:28 | |
| and how soon till they go away? | |||
| (or why are they going away?) | |||
| plobsing | 1) the plan (AFAIK) is for them to be entirely replaced by the Packfile PMCs | 02:29 | |
|
02:29
mikehh_ joined
|
|||
| plobsing | 2) as soon as someone rewrites all core uses of them to use the PMCs in stead | 02:29 | |
| 3) they aren't (easily) usable from Parrot languages | 02:30 | ||
| I'm not expecting to see them entirely dissapear before at least 2.9 | 02:31 | ||
| tcurtis | plobsing: I think PIRATE uses Packfile PMCs for PBC emitting. I don't know if that example would particularly applicable to reading Packfiles, though. | ||
| plobsing | tcurtis: not really. emitting has been the driving force of their design. reading is sorely lagging. | 02:32 | |
| ash_ | emit.reverse | 02:33 | |
| i'd rather use the pmc's if thats the way things are supposed to be going | |||
| plobsing | PMCs are the cleaner option. The structs are the more pragmatic. | 02:34 | |
| ash_ | plus pbc_to_exe is already in pir, if i could stay in pir to do all of it it would be ince | ||
| nice* | |||
| plobsing | sure. just know that you're wandering into yet more unexplored territory (reading PBC using Packfile* PMCs) | 02:36 | |
| ash_ | i also was trying to understand how when you run a program made by pbc_to_exe it actually happens | 02:37 | |
| in know the 'magic' starts at Parrot_runcode(interp, argc, argv); | |||
| but diving into that it gets confusing, basically i was trying to understand how it loads all of the pbc constants, ops, register information, annotations into the interrupter and eventually calls the runcore | 02:38 | ||
| plobsing | it encodes the PBC into memory and then uses the normal PBC loading routines | 02:39 | |
| ash_ | so, it just says "hey the pbc starts here" where here is the start of that big string? | 02:40 | |
| plobsing | yes. It works the same as loading a PBC file except it doesn't have to read it in first. | ||
| are there any other points that have you stuck? | 02:45 | ||
| ash_ | well, i guess i just need to dig more through the code to understand whats going on | ||
| nothing comes to mind, its just i need to experience bits of it for myself, i understand the gist of it, its just a few area's where i am fuzzy | |||
| purl | i heard fuzzy was an extension of Boolean logic dealing with the concept of partial truth. or "warm and" | ||
|
02:48
janus joined
|
|||
| ash_ | thats all i can think of, btw, i did some more testing for the libffi nci pmc and it's working now on i386 and 86_64 on linux, and 64 bit on OS X (i'd try 32 bit on OS X but parrot's config scripts don't seem to want to do -m32 correctly on OS X) | 02:55 | |
| plobsing | awesome. we're a bit close to the stable release at this point to push in a major feature like this, but if all goes well, I think we could pull it in immediately after the release | 02:59 | |
| tcurtis | ash_: remind me sometime and I can test it on i386 OS X. | 03:01 | |
| ash_ | tcurtis: which os x do you have? | ||
| (not snow leopard?) | |||
| tcurtis | ash_: Leopard | ||
| ash_ | btw, it might be nice if someone with some knowledge of the config scripts looked at OS X's build system | ||
| OS X likes fat binaries (for a number of reasons) and it would be nice if we could get parrot to build correctly on OS X so it could be turned into a fat binary, and build 32 bit or 64 bit explicitly too | 03:02 | ||
|
03:15
LoganLK joined
|
|||
| dukeleto | anybody interested in a Parrot hackathon sometime around OSCON in Portland, OR? | 03:21 | |
|
03:21
snarkyboojum joined
03:35
GodFather joined
|
|||
| cotto | dukeleto, when's OSCON? | 03:36 | |
|
03:40
notbenh1 left
|
|||
| dukeleto | cotto: July 19-23, 2010 | 03:47 | |
| cotto: many parrot devs will be in Portland | 03:48 | ||
| cotto | not likely I'll be among them | 03:51 | |
| sad face | |||
| purl | ā¹ | ||
| mikehh | opbots, names | 03:57 | |
|
04:32
snarkyboojum joined
|
|||
| cotto | but the sad face worked | 04:48 | |
| happy face | |||
| purl | āŗ | ||
| dalek | rrot: r48093 | Chandon++ | branches/gsoc_threads (14 files): [gsoc_threads] Clean up task vs. event; make timers not be tasks. |
04:49 | |
| rrot: r48094 | Chandon++ | branches/gsoc_threads/t/pmc/task.t: [gsoc_threads] Now with no missing files. |
05:05 | ||
|
05:23
snarkyboojum joined
|
|||
| dalek | rrot: r48095 | darbelo++ | branches/gsoc_nfg (22 files): Sync with trunk. |
05:38 | |
|
06:09
uniejo joined
|
|||
| NotFound | <plobsing> sure. just know that you're wandering into yet more unexplored territory (reading PBC using Packfile* PMCs) ---> Not so unexplored, see packfile.winxed in winxed examples | 06:10 | |
| plobsing | NotFound: good to see. still, reading/analysis feel a little underpowered. | 06:16 | |
| NotFound | plobsing: sure | 06:17 | |
|
06:24
snarkyboojum joined
06:44
fperrad joined
|
|||
| dukeleto | msg masak i've added MiniDBI to proto: github.com/leto/proto/commit/31af06...a2a0c9c6c4 | 06:52 | |
| purl | Message for masak stored. | ||
|
06:56
frodwith joined
06:57
baest joined
08:36
darbelo joined
08:56
clinton joined
09:10
AndyA joined
10:29
LoganLK joined
10:42
gbacon joined
10:59
bkuhn joined
11:14
lucian joined
|
|||
| dalek | TT #1704 created by bacek++: Implicit selection of main sub is deprecated. | 11:50 | |
| TT #1704: trac.parrot.org/parrot/ticket/1704 | |||
| TT #1705 created by bacek++: 0-args :main Subs will check passed arguments. | |||
| TT #1705: trac.parrot.org/parrot/ticket/1705 | |||
|
12:00
JimmyZ joined
12:20
whiteknight joined
|
|||
| dalek | kudo: 3615ece | jonathan++ | src/Perl6/Grammar.pm: First cut at implementing custom circumfixes. Also, for things we don't know how syntax error. |
12:22 | |
| purl | YOU CAN'T JUST MAKE SHIT UP AND EXPECT THE COMPUTER TO MAGICALLY KNOW WHAT YOU MEAN, RETARDO. | ||
| kudo: 727782e | jonathan++ | src/Perl6/ (2 files): Add term:sym<circumfix> as found in STD, which we were missing in the Rakudo |
|||
| purl | hmmm... grammar is "The Deluxe Transitive Vampire" Mmm. Good book. | ||
|
12:30
bluescreen joined
|
|||
| Coke | ooh, there's a deluxe? | 12:34 | |
| Anyone else used to handrolling PIR find PAST impenenetrable, or is it just me? | 12:39 | ||
| ETOOMANYEN | |||
| moritz finds PAST quite intuitive, except where not | 12:41 | ||
| whiteknight | PAST basically is impenetrable | 12:44 | |
|
12:45
bluescreen joined
|
|||
| whiteknight | because of IMCC magic, it's extremely difficult to write operational PAST most of the time | 12:45 | |
| dalek | kudo: 3d0399a | jonathan++ | src/Perl6/Actions.pm: Should not curry .WHAT and other interogative macros. |
12:57 | |
| kudo: 9819740 | jonathan++ | src/pmc/p6role.pmc: One more role type-object undefinedness fix. |
|||
| jnthn | whiteknight: huh? | ||
| I don't see where IMCC comes into things. :-/ | 12:58 | ||
| The nice thing about writing PAST is that I don't have to care about PIR. :-) | |||
| (Or more specifically, generating PIR.) | 12:59 | ||
| Coke | jnthn: I had a (*#&$ of a time making PAST generate compilable pir. =-) | 13:02 | |
| (do I want a bind here? a pirop to call set ? or maybe a pirop that sets the result as a side effect? what are the types? WHY WONT THIS WORK!?) | 13:03 | ||
| Coke is pretty close to getting partcl's argument handling working, though, which is nice. | |||
| Many times I thought "if I could write this past in pir, I'd be done already. (trivially so, since I already wrote this in PIR for the old version. =-) | 13:04 | ||
| jnthn | Coke: Ah. My usage of :pirop is very low. | 13:05 | |
| moritz | Coke: then just write it in PIR, no? | 13:10 | |
| atrodo | Coke> I agree, even with my limited experience with both, PIR seems much easier and less cryptic than PAST | 13:12 | |
| dalek | rrot: r48096 | gerd++ | trunk/docs/book/pir/ch04_variables.pod: remove what seems to be a wrong opening bracket |
13:22 | |
|
13:51
tcurtis joined
|
|||
| Coke | moritz: I already have a chunk of PAST. how do I inject a chunk of steaming PIR? | 13:51 | |
|
13:52
whiteknight joined
|
|||
| tcurtis | Coke: PAST::Op.new(:pasttype<inline>, :inline('foo bar')) | 13:52 | |
| Coke | (it seems if I want to move more to a compiler than an interpreter, I'm going to want to write more and more in something that can target PAST | ||
| tcurtis: holy crap that would have saved me about 3 hours yesterday. | 13:53 | ||
| At this point, I am probably going to finish in past since I'm already 80% done. =-) | 13:55 | ||
| tcurtis++ | |||
| moritz++ | |||
| Coke listens to piers sing. | |||
|
13:59
sjn joined
14:04
bubaflub joined
14:07
NotFound joined
|
|||
| NotFound | hi | 14:07 | |
| Coke | ho | 14:09 | |
| NotFound | Let's go! | ||
|
14:12
arnsholt joined
|
|||
| moritz | where? | 14:16 | |
| NotFound | Straigh to the jail, without collecting 20.000$ | 14:17 | |
| atrodo | Wow, that's a lot more than I ever remember getting for passing Go | 14:26 | |
| NotFound | I think my memory was mixing the old edition before euro, in pesetas. | 14:27 | |
| moritz | it was 8000DEM (deutsche mark) back in the days | 14:28 | |
| Coke | 200USD | 14:29 | |
| atrodo | wow, they changed the amount of monopoly money you got in different countries? | ||
| jnthn | .oO( Zimbabwe monopoly must be awesome! ) |
||
| NotFound | atrodo: the prices on the main streets will sound ridiculous without some adaptation. | 14:30 | |
| Coke | jnthn: comes with a printing press. | ||
| arnsholt | atrodo: Sure. It'd be a bit boring if you got the local equivalent of $2 every time you passed go =) | ||
| NotFound | Monoploy was a pioneer in localization X-) | ||
| Coke | NotFound: the us have been ridiculous for 50 years. =-) | ||
| er, the us /prices/ | |||
| NotFound | Coke: there are levels of ridiculogy. | 14:31 | |
| Coke | ... chromatic? is that you? | ||
| atrodo | Well, I guess that could make sense, except it's still monopoly money | ||
| NotFound | And in the real world bankrupters don't go to jail, they get bailouts. | 14:33 | |
|
14:33
cotto joined
|
|||
| atrodo | NotFound> Point | 14:33 | |
| I do wish that all I had to do to get out of jail was to roll doubles. I'd be breaking the law left and right! | 14:34 | ||
| NotFound | atrodo: beware of Murphy's Law. | ||
| moritz | atrodo: also remember that you're only allowed three rolls a year :-) | 14:35 | |
| cotto | ~~ | ||
| Coke | mmm, cinnamon rolls. | ||
| moritz | 1- (5/6)**3 | ||
| purl | 0.421296296296296 | ||
| atrodo | moritz> three rolls then they just let you go! | ||
| moritz | atrodo: yes, but you only succeed with a chance of 42%. Otherwise, wait a second year :-) | 14:36 | |
| 1- (5/6)**6 | |||
| purl | 0.665102023319616 | ||
| moritz | 1- (5/6)**9 | ||
| purl | 0.806193300532185 | ||
| moritz | and a 20% chance of still being in prison after 3 years | ||
| NotFound thinks about developing a "Monocoder" game | |||
| atrodo | Hmmm, maybe we played by different rules, but when i've played, you're out of jail after your third roll | 14:37 | |
| NotFound | Thinking better, is a bad name, Icaza will sue me. | ||
| atrodo | NotFound> Perfect | ||
| moritz | atrodo: ah right, but you had to pay a fine (in our rules) | ||
| atrodo | Ah, yes, that's what we did as well | 14:38 | |
|
14:48
theory joined
15:03
gbacon joined
15:07
hercynium joined
15:24
whiteknight joined
15:35
PerlJam joined
15:38
fperrad joined
|
|||
| dalek | kudo: c9b7229 | jonathan++ | src/ (2 files): Make phasers implementation able to remember value produced by phaser. |
15:42 | |
| kudo: 8ce9aff | jonathan++ | src/ (2 files): Remove special handling of BEGIN and make add_phaser a littler smarter about |
|||
| kudo: d51e99a | jonathan++ | src/Perl6/Actions.pm: Put the 'run in lexical scope of the setting' hack that was in the old BEGIN |
|||
| Coke | jnthn: shouldn't *.WHAT say "EVER"? ;) | 15:47 | |
| oops | 15:48 | ||
| cotto_work | msg khairul A couple of the tests in t/pmc/nci.t fail in your branch. You should take a look at them when you have the time. | 15:55 | |
| purl | Message for khairul stored. | ||
| cotto_work | msg khairul Also, notfound++ committed some of your simpler changes to the core Parrot code to trunk. I'll be looking at the remaining changes (gist.github.com/477154) when I can. | 16:00 | |
| purl | Message for khairul stored. | ||
| cotto_work | anyone around with a commit bit? | ||
|
16:01
ruoso joined
|
|||
| cotto_work | msg khairul nm. Pointer's get_string is the culprit. It's not entirely obvious what the proper behavior is in this case. | 16:06 | |
| purl | Message for khairul stored. | ||
| cotto_work | *sigh* | 16:12 | |
| After digging to see who added the failing tests to figure out what the proper behavior for pointer.get_string is, I find out that I added one of the tests. | 16:13 | ||
| atrodo | Isn't that just depressing? | 16:15 | |
| cotto_work | I could ask myself, but I already know that I don't know. | ||
| tewk added the other tests and I suspect that NotFound or japhb would know something. | |||
| japhb | <rez> | 16:16 | |
| Wubba-huh? | |||
| cotto_work | do you have a sense for how Pointer.pmc should behave? | ||
| especially its get_string | 16:17 | ||
| japhb | I've been away from the NCI stuff for a while, so I'm not sure what you are looking for. | 16:18 | |
| cotto_work | Does it make more sense for it to stringify its pointer with %s or %p? | 16:19 | |
| src/pmc/pointer.pmc +162 | |||
| japhb | Looking .... | 16:20 | |
| (well, pulling first, just in case. :-) | |||
|
16:25
whiteknight joined
|
|||
| japhb | cotto_work, OK, looking at the tests and the surrounding code and such, it looks like get_repr is returns the hex for the pointer's actual value, while get_string is returning the "string" pointed to ... on the assumption that it is a regular C-style null terminated string. What is used for getting raw buffer data of a certain length, containing 0 or more nulls? | 16:34 | |
| s/is returns/basically returns/ | |||
| Or am I now too far away from the current state of NCI for that question to be relevant? | 16:35 | ||
| cotto_work | I'm trying to figure out if that behavior (assuming a C string) is correct. | 16:36 | |
| atrodo | cotto_work> completely different subject. what about shl and shr as lorito opcodes? | 16:38 | |
| japhb | It's certainly reasonable to have that as an option, even an "easy to reach" option -- it will handle a number of useful cases. But there definitely needs to be another easy-to-reach option that gets raw buffer data. | 16:39 | |
| And if the C string is supposed to become a Parrot string, there ought to be some way of specifying charset info, neh? | |||
| cotto_work | atrodo: Good question. Having shr would make it possible to optimize multiplication and would be closer to the hardware. For now I'd leave it out. It can be added easily later when we need it. | 16:40 | |
| NotFound | japhb: last time I looked, strings from nci are assumed to be iso-8859-1 | ||
| atrodo | Okay, I'll put it in my list of ops to think about later | ||
| cotto_work | or, shl. Blame lysdexia. ;) | 16:41 | |
| japhb | NotFound, ewww. | ||
| That's just wrong in an era of UTF-8. | |||
| I mean, if you're going to have a default ... we should be getting away from the ancient one. | |||
| cotto_work | Tell darbelo. I'm sure he'll be motivated to do something once he finds out. | 16:42 | |
| atrodo | or s/multiplication/division/, either substitution would work | ||
| cotto_work | sure | ||
| NotFound | japhb: I'd like better to use binary as default. | ||
| utf-8 as defalut is problematic, data received can be unacceptable as utf-8 | 16:43 | ||
| japhb | NotFound, sure ... but get_string does not offer the opportunity to provide a buffer length, so the data has to self-determine its length. | ||
| NotFound, I'll grant you that. | |||
| And I recognize it would be slow to check for compliance and then fall back. | |||
| NotFound | japhb: is supposed to be used wicth char * pointing to a zero-deliited C string. | ||
| japhb | As long as it is easy to say "Change this string to this charset" | 16:44 | |
| NotFound | japhb: is easy now, using a ByteBuffer. | ||
| japhb | NotFound, right. Which isn't binary. | ||
| Nodnod | |||
| Anyway, I'm clearly not helping here. :-/ | |||
| NotFound | japhb: is binry encoded, that is, not assuming any encode at all. | ||
| japhb | Ah, makes sense | 16:45 | |
| NotFound | iso-8859-a has the advantage of not having non-decodeable values. | ||
| I suppose someone uses it because of that. | |||
| s/uses/used | |||
| Assuming string of chars, of course, not any sort of wide chars. That should use different types. | 16:47 | ||
| darbelo | At some point we are going to have to decide wether we want to handle string data as it comes in, which we do badly now, or enforce a cannonical representation at the system boundaries, which we don't do at all. | 17:06 | |
| cotto_work | The first option is what I've heard allison mention as our intent. | 17:08 | |
| darbelo | Yeah, and that's easier to reach from the current stae of the code. | ||
| But a canonical representation can be made fast. | 17:09 | ||
| NotFound | "string data" is an oversimplification. | ||
| A char * pointing to zero delimited C string is just that. | 17:11 | ||
| darbelo | Sure, but there's plenty more ways you can make 'a string'. | ||
| NotFound | A char * pointing to a buffer of size know by whatever mean, a totally different beast. | ||
| darbelo | It also could be a wchar * too. There's all sort of stuff you can pass around a call 'a string'. | 17:13 | |
| NotFound | Enforcing some way is limiting. In MySql, for example, you can select at rutime how you pass and receive string. If I have utf-8 strings, and set MySql for that, enforcing any other encoding is losing time. | 17:14 | |
| The same if I have iso-8859 or watever. | |||
| darbelo | Yeah, but what happens when I pass a GBK string to parrot? | 17:15 | |
|
17:15
shockwave joined
|
|||
| shockwave | Hello | 17:16 | |
| NotFound | What's a GBK string? | ||
| shockwave | Is there way to make an include like so: .include 'TestOutput.s_abstract_1_xml_1.main' | ||
| cotto_work | gbk? | ||
| shockwave | be relative to where that being that's making the inclusion is located, as opposed to where the parrot executable is? | ||
| darbelo | A chinese charset. It's what windows uses. | ||
| shockwave | I don't know if that made sense. I'll re-state it. | 17:17 | |
| darbelo | It's what was causing jimmyz's build failures a while back. | 17:18 | |
| tcurtis | shockwave: "--include ." or "-I ." does what you want as an argument to parrot, I think. | ||
| NotFound | darbelo: right now, you can't. Either use windows unicode api, or add new encodings. | ||
|
17:19
lucian joined
|
|||
| shockwave | When including a .include 'file.pir' directive in a PIR file, that inclusion is relative to where the parrot.exe file is located. Is there a way to make that .include directive be relative to the source file that is making the inclusion? | 17:19 | |
| tcurtis | shockwave: try --include/-I with wherever your desired include file is. | 17:20 | |
| shockwave | tcurtis: Perfect! Thanks. | 17:21 | |
| darbelo | I think .include './some/file' works too. But I'm not sure. | 17:22 | |
| shockwave | darbelo: ./ doesn't work. | 17:23 | |
| NotFound | darbelo: I think that is relative to the current working directory, not the directory where the including file is. | ||
| darbelo | That could be it. | 17:24 | |
| NotFound: back to strings, I think we are confusing the 'shuffling data about' problem with the 'string munging' problem. | 17:26 | ||
|
17:26
shockwave left
|
|||
| NotFound | Part of the problem is to clarify the problems %-) | 17:26 | |
| darbelo | Forced translation is bad for shuffling data about. And variable-width encodings are bad for string munging. | 17:27 | |
| We should be able to do both gracefully. | 17:28 | ||
| NotFound | darbelo: yeah, I just says that we should not force any assumption by defalut. Providing ways to ask for it is fine. | ||
| darbelo | Yeah, but if even the guys that invented utf-8 knew it was a bad idea to use it in, say, a regex engine. Then why is there utf-8 in our regex engine? | 17:30 | |
| And if you pass in any form of unicode to parrot, you end up with utf-8 at some point or another. | 17:31 | ||
| NotFound | My knowledge of our, or any other, regex engines in sverily limited. | ||
| darbelo: utf-8 is used to interact with the OS, but you can work with ucs4 if you want. | 17:32 | ||
| darbelo | I know, I added that encoding :) My point is that we could be a *lot* smarter about how we handle strings in some places. | 17:37 | |
| NotFound | darbelo: fully agree | 17:38 | |
| darbelo | I think we've been agreeing all along. | ||
| It just took me a while to notice :) | |||
| NotFound | My current point is that assuming iso-8859-1 is not so bad for a now. At least you can easily reencode it. | 17:39 | |
| darbelo | You mean assuming utf8 is worse :) | 17:41 | |
| NotFound | darbelo: yes, because it can throw invalid data. | ||
| darbelo | All unicode encodings do that. Calling it 'binary' is probably safer, since it forces you to give it a meaninig before you star minging it. | 17:43 | |
| Eh, start munging. | |||
| NotFound | Yes, but changing it to binary right now risks to break things. | ||
|
17:44
patspam joined
|
|||
| darbelo | Hm. True. Better done after the supported release. | 17:44 | |
| OTOH, if it works now, it's probably just by chance. | 17:45 | ||
| NotFound | darbelo: yes, dynamic ops worked by chance, and look what happened. | 17:46 | |
| cotto_work | *shudder* | ||
| darbelo | We ran out of luck, then it went kaboom. | ||
| I'll go by a set of loaded dice... | 17:47 | ||
| atrodo | If you wanted to rig a game of russian roulette, would you get a loaded gun? | 17:48 | |
| darbelo | atrodo: Yes, and fire last. | ||
| NotFound | I'd like better spanish lotto, If I can choose. | 17:49 | |
| darbelo | More money, less corpses? I can live with that trade-off. | ||
| ;) | |||
| Coke | oh, right, we never did fix dynops, did we. sad, really. | 17:54 | |
| darbelo | plobsing was working on it, lat I heard. | 17:55 | |
| cotto_work | there's a branch | ||
| NotFound | They are still unfixed. Things don't break too much thanks to workarounds. | ||
| darbelo | purl: gbk is en.wikipedia.org/wiki/GBK | ||
| purl | OK, darbelo. | ||
| darbelo | I think that page has enough data for a brave person with access to a suitable testing platform to write up a gbk encoding for parrot. | 17:57 | |
| In case someone has this pressing need to munge simplified chinese data. | |||
| cotto_work | That diagram makes me dizzy. | 17:59 | |
| darbelo | it's no worse than utf8 really. | 18:01 | |
| cotto_work | I mean the presentation, not the contents. | ||
| darbelo | It's all chinese to most people anyway. | 18:02 | |
| Coke | ugh. Will we ever be finnish'd with these puns? | 18:04 | |
| atrodo | Ah, gbk looks simple | 18:06 | |
| Coke | ^_O? | 18:07 | |
| atrodo | </sarcasm> | 18:09 | |
| cotto_work | The sarcasm bit, much like the evil bit, remains unimplemented in the large majority of TCP stacks. | 18:10 | |
| atrodo | Aye. Still waiting for unicode to include both codepoints for sarcasm and evil | ||
| cotto_work | It's generally thought best to emulate it at the application layer. | ||
| atrodo | They'd be combining codepoints, of course | 18:11 | |
| cotto_work | That's a great idea <EXCLAMATION MARK WITH COMBINING SARCASM BIT> | ||
| atrodo | I'm not sure I'd ever type without that turned off tho | 18:12 | |
| *on | |||
| dalek | nxed: r556 | NotFound++ | trunk/winxedst0.cpp: backport constructor call to stage 0 |
18:18 | |
| nxed: r557 | NotFound++ | trunk/winxedst0.cpp: ooops, forgot to optimize constructor args in r556 |
18:23 | ||
| cotto_work | atrodo, you should start handing out commit bits for your lorito project | 18:32 | |
| atrodo | cotto_work> Yep. Was going to try and get a good chunk done this weekend and then start looking for help | 18:35 | |
| cotto_work | do it naough | ||
| atrodo | uhm, sure? | ||
| purl | But are you sure you're sure? | ||
| atrodo | i'm sure i'm sure purl | 18:36 | |
| dalek | nxed: r558 | NotFound++ | trunk/winxedst1.winxed: now that constructors are available in stage 0, use them in a few places in |
18:37 | |
| atrodo | I might be dense on the github thing, but does commit bit == collaborators under repo admin? | 18:39 | |
| Coke | yes. | 18:40 | |
| atrodo | huh. I always assumed forking was the way to do it in github. Learn something new everday. | ||
| Okay, who wants commit bits? | |||
| This is only one of three times I ask! | 18:41 | ||
| Coke | that is very also the way to do it. | ||
| it depends on if you want to treat your version as "official" or not, IMO. | |||
| I'd just leave it say "go fork." | |||
| *and | |||
| atrodo | So new plan. I'm going to only ask three times, after that, go fork yourself. (i'm going to get into so much trouble) | 18:43 | |
| tcurtis | Speaking of commit bits, anyone else want to help with updating the Squaak tutorial? | ||
| PerlJam | tcurtis: I might | 18:44 | |
| (I'm perlpilot on github) | 18:45 | ||
| Coke | PerlJam: hey, where's my partcl patches? =-) | ||
| tcurtis | PerlJam: added you to the github repo I've been working in(aptly named squaak-tutorial) | 18:46 | |
| PerlJam | Coke: when my interest waxes that direction, you'll see some. :) | ||
| cotto_work wants a bit | 18:48 | ||
| darbelo | tcurtis: Sign me up. | ||
| cotto_work | maybe even a nybble | 18:49 | |
| darbelo is darbelo on github, for the record. | |||
| PerlJam | Coke: actually, it's more like at the intersection of my interest, my time, and my ability ... then you'll have some | ||
| Tene | atrodo: I'll take a commit bit. | ||
| tcurtis | The fun bits are the ones that don't work. | ||
| cotto_work: was that to me or atrodo? | |||
| cotto_work | both eventually, but for atrodo that time | 18:50 | |
| atrodo | Tene> is your github account "tene"? | 18:51 | |
| cotto_work | cotto's github account is cotto | 18:52 | |
| tcurtis | atrodo: I would also like one. | ||
| atrodo | atrodo also likes talking about himself in the third person | 18:53 | |
| tcurtis | cotto's github account? | ||
| purl | it has been said that cotto's github account is cotto | ||
| dukeleto | atrodo: i'll take a bit too, my github is leto | ||
| tcurtis | tcurtis' github account is ekiru | ||
|
18:53
baest joined
|
|||
| Tene | atrodo: yes | 18:54 | |
| atrodo | atrodo's github account is atrodo | ||
| Okay, i've got cotto, tcurtis, dukeleto and Tene. Anyone else? | |||
| tcurtis | darbelo: you have a bit. | 18:55 | |
|
18:56
joeri joined
|
|||
| moritz raises hand | 19:06 | ||
| github nick eq irc nick | |||
| atrodo | for me or tcurtis, or both? | ||
| moritz | squaak | 19:07 | |
| what do you offer? :-) | |||
| tcurtis | atrodo: by the way, I'm prototyping an assembler in NQP for another possible syntax for Lorito assembly. Here's an example github.com/ekiru/yalp-asm/blob/mast.../fact.lasm | ||
| PerlJam | tcurtis: I just did a search for squaak-tutorial on github and it gave me no results. | ||
| cotto_work | Oh. I'd like a squaak bit too | ||
| tcurtis | PerlJam: github.com/ekiru/squaak-tutorial | ||
| PerlJam wonders why github couldn't find it via search | 19:08 | ||
| tcurtis | moritz, cotto_work: done. | ||
| cotto_work | Does that mean that the squaak tutorial is living in two different places now? | ||
| atrodo | mortiz> lorito prototype | 19:09 | |
| moritz | atrodo: ah. Interesting, but outside of my scope | ||
| tcurtis | cotto_work: I just didn't want to mess with it on trunk and don't know much about svn branching. | ||
| cotto_work | svn branching isn't hard. It just breaks at stupid times. | ||
| atrodo | moritz> understand, there was just a little confusion on which commit bits who wanted | 19:10 | |
| cotto_work | see docs/project/branching_guide.pod | ||
| moritz | atrodo: sure | ||
| atrodo | svn-- | ||
| tcurtis | I was planning on creating a svn branch at some point before I got far along, but I didn't get around to it. | ||
| moritz | atrodo: btw in most IRC clients you can type the first few (like, 2) characters of a nick name, and then hit the tab key for auto completion | ||
| much like on a shell | |||
| atrodo | moritz: huh, sure enough | 19:11 | |
| Coke finally thinks to create #albany-pm | |||
| cotto_work | In the competent ones (not Mibbit), you can even configure the order in which names appear. | ||
| atrodo | i shaltn't misspell moritz again (assuming I did which is why that tip came up) | ||
| Coke | (moving tutorial out of trunk)++ from em.e | ||
| moritz | atrodo: yeah, it was the typical 'mortiz' misspell :-) | ||
| atrodo | my eyes are clearly going, it hard to see at this distance. Maybe I should work in front of a computer screen all day... | 19:12 | |
| moritz | it's s/it/ti/ :-) | 19:13 | |
| tcurtis | cotto_work: on the other hand, if someone who hasn't broken their git svn install wants to create a svn branch and import what I've done so far, I'd be grateful. ;) | ||
|
19:14
LoganLK joined
|
|||
| cotto_work | I don't know anyone like that. ;) | 19:14 | |
| tcurtis has broken his git svn install and doesn't know how to do that with it anyway. | 19:15 | ||
| atrodo | tcurits> interesting lasm | ||
| moritz | somehow a Makefile or even Makefile.in is missing from squaak | ||
| Coke | moritz: probably uses distutils. | 19:16 | |
| look for "setup.pir" | |||
| moritz | so, what do I do when I find a setup.pir? | ||
| PerlJam | moritz: did you read the README ? :) | ||
| moritz | doh run it. | ||
| tcurtis | Coke, moritz: yep. mk_language_shell.pl generates a setup.pir | ||
| moritz | any objections to adding vim set ft=perl6 modelines? | 19:18 | |
| tcurtis | moritz: none. | ||
| cotto_work | I haven't found that to be effective. I always have to set it manually. | ||
| but if that should work, +1 | |||
| tcurtis uses emacs, which (frequently fails to) auto-detect sixity. | 19:19 | ||
| moritz | currently the t/00-sanity.t fails becuase there's no rule to parse say 'string'; | ||
| is the sanity test wrong? or should I add a rule for pasing 'say'? | 19:20 | ||
| tcurtis | atrodo: biggest differences are that each op only operates on one argument signature(where different types of registers don't count as different signatures but constant vs. label vs. register does) and that it doesn't have subs. | 19:21 | |
| moritz: I removed the default say statement at some point. You can bring it back if you'd like. I don't think it needed to be removed, in hindsight. | 19:22 | ||
| moritz | well, it's useful for testing | 19:24 | |
| tcurtis | moritz: true. although original Squaak doesn't seem to have kept that rule. trac.parrot.org/parrot/browser/trun...grammar.pg | 19:25 | |
| I assume that eventually in the tutorial when we add sub calls that will handle our output needs. | 19:27 | ||
| cotto_work | tcurtis: wouldn' | 19:30 | |
| t coercion (along with boxing and unboxing) be a special case of set? | |||
| set P0, S0 #boxing | 19:31 | ||
| set S0, P0 #unboxing | |||
| set S0, I0 #coercion | |||
| atrodo | tcurtis> I'm not sure I follow your concept | ||
| cotto_work> good thing you haven't look at my concept, i don't have any boxing | |||
| cotto_work | tcurtis has a separate coerce op | 19:32 | |
| tcurtis | cotto_work: probably. although coerce is less ambiguous about whether you're getting an object that will change the original object if you change it. | ||
| cotto_work puts on his boxing gloves | |||
| That's true. We do want minimal magic at the Lorito level. | |||
| atrodo | up until yesterday, I had assumed that the parrot middle layer would handle that | 19:33 | |
| that=boxing/unboxing | |||
| cotto_work | All kinds of assumptions will come to the surface during this phase. | ||
| tcurtis | Parrot's concept of setting things is currently very magical. | 19:34 | |
| atrodo | speaking of assumptions, i had a question last night. what was the reasoning behind removing the limit on the number of register? | 19:35 | |
| cotto_work | and we pay the price by forcing nqp to generate sub-optimal code. | ||
| atrodo, Parrot used to think of itself as much closer to the metal than it really is. | 19:36 | ||
| atrodo | cotto_work> that I understand | ||
| cotto_work | If we're not pretending that we're close to the metal, there's no reason to pretend like we only have a few registers. | 19:37 | |
| PerlJam | atrodo: and no one used the "real" registers because they were limited to 32 each and to do anything interesting you always needed more than 32. | ||
| Coke | PerlJam: or a better optimizer. =-) | ||
| atrodo | PerlJam> did you need more than 32, or a register allocator? | 19:38 | |
| PerlJam | We had "virtual" registers that were infinite-ish, so ... what cotto_work said | 19:39 | |
| tcurtis | although, for Lorito, having a more limited number of registers wouldn't necessarily be so bad. | 19:40 | |
| As long as it could be done such that the limitation didn't leak up to higher-level code. | 19:41 | ||
| cotto_work | and as long as register spilling has some sane meaning for Lorito | ||
| atrodo | yea, i was thinking about doing a register stack, so you have an infinite number of registers, but a limited amount you can refrence at one time | 19:43 | |
| sorear | the only sensible numbers of registers to have in an IL are 1. Infinity 2. As many as the CPU | ||
| atrodo | ( and why do I forget that as soon as I hit enter means I can spell check? ) | ||
| sorear | since PIR is supposed to be arch-independant, #2 is ruled out | 19:44 | |
| cotto_work | We could also consider various cache sizes. | ||
| tcurtis | sorear: or... as many as you can fit in a convenient number of bits if you're going for a fixed-length bytecode. | 19:45 | |
|
19:45
cotto_work2 joined
|
|||
| cotto_work2 | ohai? | 19:45 | |
| purl | ohai is a town in the Southland Region of New Zealand's South Island. | ||
| Coke | can always deal with spilling only if we get to a jit. | ||
| note that parrot doesn't really support inf registers now. and that pir and pasm are asymetrical about it. | 19:46 | ||
| atrodo | Coke> is "infinite" the size of an int? | ||
| Coke | atrodo: in pasm's case, it's 99. | 19:47 | |
| atrodo | wow, really? I understood at least hundreds from the conversation yesterday | 19:48 | |
| tcurtis | atrodo: PASM isn't often used. | ||
| Coke | atrodo: that's PIR. | 19:49 | |
| atrodo | oh, subtle difference lost on my reading | ||
| Coke | PASM's syntax doesn't even allow you to address register P100. | ||
|
19:50
cotto_work2 left
|
|||
| nopaste | "coke" at 192.168.1.3 pasted "pasm limits." (21 lines) at nopaste.snit.ch/22048 | 19:51 | |
| atrodo | wow, cryptic error | 19:52 | |
| tcurtis | imcc-- | 19:54 | |
| karma imcc? | |||
| purl | imcc has karma of -5 | ||
| Coke | yah. I filed a bug ages ago but no one cares enough about pasm to fix it. =-) | 19:55 | |
| sorear | what is PIR's register limit? | 19:57 | |
| darbelo | sorear: High enough. | 19:58 | |
| purl | well, high enough is just before your eyes roll back in your head | ||
| Coke | note that PIR registers are meta-virtual. | 20:00 | |
| so $P99999999999 could map to P0 | |||
| sorear | can I use 101 different PIR registers? | 20:01 | |
| cotto_work | If you want to write the code, sure. | 20:02 | |
| or generate it | |||
| tcurtis | sorear: I recommend just writing a moderately complicated expression in any HLL. There you are. | 20:03 | |
| Much quicker and more maintainable | |||
|
20:06
contingencyplan joined
|
|||
| Coke | sorear: I do not know off the top of my head /what/ the limit is. I think it's probably INTSIZE. | 20:06 | |
| cotto_work | It's one of those limits which, if you run into it, you're doing something wrong. | 20:07 | |
| darbelo | tcurtis: You can add your projects to the Modules or Languages list on the wiki if you want dalek to track them and report to the channel. | 20:12 | |
| trac.parrot.org/parrot/wiki/Languages and trac.parrot.org/parrot/wiki/Modules by url | 20:13 | ||
|
20:15
eternaleye joined
|
|||
| darbelo | msg tcurtis I just added the squaak repo to the Languages page so dalek can report on it. | 20:40 | |
| purl | Message for tcurtis stored. | ||
| tcurtis | darbelo: well, hopefully, it'll get imported back into parrot trunk soon(i.e., before 2.6). | 20:41 | |
| But thanks, for now. | |||
| darbelo | Ah, I thought you were going for the nqp-rx 'work on it outside an then update in one go' approach. | 20:43 | |
| cotto_work | I like the idea of squaak living outside Parrot. That's what we expect normal HLLs to do. | 20:48 | |
| dalek | tracwiki: v137 | darbelo++ | Languages | 20:53 | |
| tracwiki: Add the squaak ressurection effort ot the languages list. | |||
| tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff | |||
| darbelo | Bundling a snapshot in examples/ might still be a good idea for our 'example language' of choice. | ||
| tcurtis doesn't have strong feeling about whether it should be in parrot's repo. | 20:56 | ||
| cotto_work | There's charm in that approach too. | ||
| just for discoverability | |||
| tcurtis | I initially was updating it in a git repo because I didn't feel like creating a svn branch for something I wasn't certain I'd have time to get around to actually doing. | ||
|
20:59
whiteknight joined
|
|||
| darbelo postpones the distribituion bikeshed until the code works enough to be worth distributing. | 21:01 | ||
| cotto_work | release too early and too often | 21:02 | |
| tcurtis | Speaking of it not working; neither throw nor try/catch works. | 21:03 | |
| cotto_work | tcurtis: what langauge | ||
| purl | langauge is dead when people stop speaking it entirely (ie no code exists anymore) | ||
| tcurtis | cotto_work: Squaak. | ||
| Unless there's some way I'm not aware of to get an Exception object in Squaak. | 21:12 | ||
| In which case, only try/catch is broken. | |||
| dalek | nxed: r559 | NotFound++ | trunk/examples/fly.winxed: add a few towers, a train and some other changes in fly opengl example |
21:33 | |
| cotto_work | NotFound: what's required to run that opengl demo? | 21:39 | |
| nm. I'm not generating opengl bindings | 21:41 | ||
|
21:44
gbacon joined
|
|||
| bacek | aloha, humans | 21:51 | |
| cotto_work | aloha, bacek | ||
| bacek | hi cotto | ||
| dalek | rrot: r48097 | bacek++ | trunk/DEPRECATED.pod: Add :main Sub deprecation notice. |
21:54 | |
| tcurtis | hello, bacek. | 21:59 | |
| GeJ | Bonjour everyone. | 22:01 | |
| tcurtis | Hi, GeJ. | 22:03 | |
| GeJ | Hey tcurtis. | 22:06 | |
| purl | i guess tcurtis is Tyler Curtis <mailto:tyler.l.curtis@gmail.com> | ||
| GeJ | I knew that. | ||
| NotFound | cotto_work: opengl is required, indeed. | 22:23 | |
| Even magic has its limits ;) | 22:24 | ||
| cotto_work | yup. freeglut3-dev was the magic package | ||
| It would be nice if something told me that that was the problem, though. | 22:25 | ||
| It's fairly easy for someone who's done some Parrot hacking to find, but it's got potential to mystify users. | |||
| darbelo | I doubt parrot can be any more specific than 'you don't have opengl (or it's headers)'. | 22:26 | |
| cotto_work | That would be sufficient. | ||
| darbelo | I thought we were doing that. | ||
| NotFound takes mental note | |||
| cotto_work | All I saw was: "load_bytecode" couldn't find file 'OpenGL_funcs.pbc' | 22:27 | |
| NotFound | darbelo: parrot can do, but a parrot based program must do its own checks. | ||
| darbelo | Oh, the *winxed* opengl demo. Missed that. | 22:28 | |
| NotFound | Unless we generate a fake package that throws an exception with meaningful message on attempts of usage. | 22:29 | |
| darbelo | We do that in other places. | 22:30 | |
|
22:53
kid51 joined
|
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#34907), fulltest) at r48097 - Ubuntu 10.04 amd64 (g++) | 22:55 | |
|
23:06
jimk joined
|
|||
| dalek | kudo: 98163f7 | jonathan++ | src/Perl6/Actions.pm: Fix generation of attribute initializers so that the generated anonymous method we have attribute initializers inside parametric roles that reference the role parameters too. |
23:11 | |
|
23:12
eternaleye joined
23:56
Psyche^ joined
|
|||