|
Parrot 3.5.0 "Menelaus" released | parrot.org | Log: irclog.perlgeek.de/parrot/restoday Set by moderator on 25 June 2011. |
|||
|
00:03
whiteknight joined
|
|||
| cotto | mikehh, one guy who hacks on space telescopes for $dayjob | 00:04 | |
| also bumped into Util | |||
| whiteknight, ohai. im in ur timezone | |||
| whiteknight | isn't it so much better than the other timezones? | 00:05 | |
| pmichaud waves to all of the yapc::na attendees | |||
| cotto | not the first day | ||
| dalek | kudo/nom: 3c22598 | pmichaud++ | src/core/ (2 files): Update Array.new and List.new to be more robust. |
00:07 | |
|
00:26
benabik joined
|
|||
| benabik | 'ello, #parrot! | 00:29 | |
| whiteknight | hello benabik. How's the work going? | 00:30 | |
|
00:32
daniel-s left
|
|||
| benabik | whiteknight: Not very quickly. Been travelling. :-D | 00:32 | |
| whiteknight | traveling schmaveling. You can type while you drive | ||
| benabik | Uhm, no? | ||
| Okay, just wanted to poke my head in here to mention I exist again. Heading off to scout for food. | 00:36 | ||
| cotto | benabik, you at yapc? | 00:38 | |
| benabik | cotto: Yes | ||
| cotto | aloha, going to yapc::na? | ||
| aloha | cotto: going to yapc::na is cotto or dukeleto or atrodo or Util or kid51 or benabik or soh_cah_toa | ||
| cotto | sweet | ||
| benabik | I have no idea what I'm doing, but I'm here. :-D | ||
| dalek | rrot/whiteknight/packfilewrapper: 2fbd0d2 | Whiteknight++ | / (6 files): Rename functions to Parrot_pf_serialize and Parrot_pf_deserialize. cotto++ |
||
| cotto | if you're on foot, there's a mexican place 10-15 minutes away that's not bad | ||
| benabik | I drove here, so am highly moble. | 00:39 | |
| cotto | I flew here, so I'm not. ;{ | ||
| benabik | Driving was cheaper than flying two people. And let me stop at my folk's on the way. | 00:40 | |
| If people get tired of hotel-centric stuff, I'm willing to do some ferrying. :-D | |||
| cotto | benabik, I'm sure we'll take you up on that. | 00:41 | |
|
00:41
contingencyplan left
|
|||
| benabik is off to investigate "The Thirsty Monk". Pub grub! | 00:43 | ||
| whiteknight is getting thirsty just reading this | 00:44 | ||
| luckily, I have a fridge stocked with all the fixins for making mohitos | 00:45 | ||
| dalek | rrot/whiteknight/packfilewrapper: e10d9e0 | Whiteknight++ | src/pmc/packfileview.pmc: Combine trigger_init and trigger_load methods into a single trigger(STRING *flag) method. This change looks forward to a time when packfiles can flag Subs more flexibly than we do now. Right now the only accepted values are 'load' and 'init' |
00:47 | |
| whiteknight | cotto++ for that suggestion too | 00:48 | |
| cotto | whiteknight++ for doing things | 00:50 | |
| whiteknight | the things are easy. The good ideas are hard | ||
| cotto | whiteknight, does that branch build for you? | 00:53 | |
| whiteknight | yes | ||
| you need to reconfig to make sure the new pmcs get included in the makefile | 00:54 | ||
| cotto | My compiler complains about some c89 violations | ||
| whiteknight | oh, that's very plausible | ||
| cotto | or did. let me see if they're still ther | ||
| e | |||
| they are | |||
| do you run Configure.pl with --no-stupid-c89-limits ? | 00:55 | ||
| whiteknight | my adherance to C89 is pathetic at best | ||
| I compile with clang | |||
| let me try again with g++ | |||
| the crotchety, whiney, complaining senior citizen of the compiler world | |||
| dukeleto | lulz | 00:56 | |
| whiteknight: does that make gcc the senior citizen that just doesn't give a shit? | 00:57 | ||
| whiteknight | clang is the hip young ne'er do well with his rock music | 00:58 | |
| cotto | whiteknight, what about some tests? | 00:59 | |
| whiteknight | I'm getting there | 01:00 | |
| cotto | ok | 01:01 | |
| whiteknight | I just compiled with g++ no problems | 01:12 | |
| ...and passed coretest | 01:16 | ||
| cotto: I need to provide information in PackfileView to either get the total number of constants of each type, or return an array of all constants of each type. Any particular way you would like to see that done? | 01:21 | ||
| right now I provide get_*_keyed_int vtables, but without bounds information or iterable interfaces that's useless | |||
| cotto | whiteknight, why not make it iterable? | 01:23 | |
| whiteknight | There are three groups which we would need to iterate over: PMC, STRING, and FLOATVAL | 01:24 | |
|
01:24
woosley joined
|
|||
| cotto | I see. | 01:24 | |
| whiteknight | I feel like I would prefer to add a method to either return counts, or return arrays of constants | ||
| but adding three methods for the purpose seems clunky | 01:25 | ||
| and adding one method that takes "STRING", "PMC", or "FLOATVAL" string keys seems stupid too | |||
| cotto | yeah | ||
| and having an iterator that returns all three types isn't amazing either | 01:26 | ||
| whiteknight | how would that even work, shift_* on the iterator? | 01:27 | |
| cotto | poorly | ||
| whiteknight | and then a whole new iterator type just for this rare purpose? | ||
| cotto | having three methods seems like the least bad approach atm | 01:28 | |
| whiteknight | howabout inspect_str("counts") returns a 3-element FIA with counts. I can wraie up some library code in Winxed or PIR to do fancy stuff with it | 01:29 | |
| cotto | what about INTVAL? | ||
| whiteknight | INTVAL constants are stored in the bytecode stream directly, not stored in the constants table | ||
| cotto | oh, right | ||
| how special | |||
| whiteknight | magical and lovely | ||
| actually, it's good for performance so I won't complain | 01:30 | ||
| cotto | yeah | ||
| I like that idea. I'd prefer a hash, but the concept is good. | |||
| whiteknight | inspect_str seems like the best. The functionality is not commonly-needed, so I don't want to add methods for it | ||
| hash is fine too | |||
| cotto | harder to mess up | 01:31 | |
| whiteknight | {"pmc" : x, "string" : y, "num" : z } | ||
| okay, I'll get started on that stuff tomorrow. For now, bed | 01:32 | ||
| cotto | 'night | ||
|
01:38
rohit_nsit08 left
01:43
alester joined
01:48
whiteknight left
|
|||
| dalek | kudo/nom: 8812718 | pmichaud++ | / (11 files): Create an opcode for building Parcels; the opcode also handles replacing |
01:52 | |
|
01:55
lichtkind left
02:00
Kulag joined
02:02
Drossel left
02:06
bluescreen left
02:16
Coke left
02:17
Coke joined
02:36
soh_cah_toa joined
02:39
rohit_nsit08 joined
|
|||
| cotto | NotFound, ping | 02:39 | |
|
02:40
rurban_ joined
02:43
rurban left,
rurban_ is now known as rurban
|
|||
| cotto | hi soh_cah_toa | 02:43 | |
| where are you at? | |||
| benabik | pub good, grub fail. | 02:44 | |
| But there's an excellent cafe downtown that serves amazing southern-type food. | |||
| soh_cah_toa | cotto: in my room | ||
| the wireless here is teh sux0rz | 02:47 | ||
| buncha perl geeks clogging it up | |||
| atrodo | ya, i can imagine how slow internet's going to be this week | 02:48 | |
| cotto | I'm using dukeleto's tethered wireless. no need to clog up the hotel's | ||
| benabik | soh_cah_toa: Yes, just noticing that. | ||
| atrodo | I'm hoping my boss leaves his new 4g mifi on | 02:49 | |
| soh_cah_toa | msg kid51 i think i remember you saying that yapc attendees should message you when they arrive. well, i'm here. yay :) | 02:50 | |
| aloha | OK. I'll deliver the message. | ||
| soh_cah_toa | 18 hours in car == not fun | 02:52 | |
| atrodo | Aye, no doubt. I only had 6 hours | ||
| cotto | argh | 02:53 | |
| that's about as much time as I spent on planes and in airports | |||
|
02:54
bubaflub left
|
|||
| benabik | Maybe I'll turn on my iPad's cell modem again. :-/ | 02:54 | |
| cotto | soh_cah_toa, where did you come from? | ||
| soh_cah_toa | new jersey | ||
| dukeleto | soh_cah_toa: you are hardcore for driving that long | 02:55 | |
| atrodo | thats' dedication soh_cah_toa++ | 02:56 | |
| soh_cah_toa | dukeleto: not me. i got free ride w/ parents :) | ||
| i'm a mooch, yes | |||
| atrodo | soh_cah_toa-- i remove my karma then | ||
| cotto | also an option | ||
| soh_cah_toa | ha! | ||
| benabik | 16 hours for me, but I split it in two. | ||
| moderator | Parrot 3.5.0 "Menelaus" released | parrot.org | Log: irclog.perlgeek.de/parrot/today | 02:58 | |
| atrodo | cotto or dukeleto, can either of you add a post-hook on github? I'm going to rollout the new isparrotfastyet, consequences ignored | 03:02 | |
| cotto | one of us can | ||
| It's not me | |||
| atrodo | I wasn't sure, so I'll wait for dukeleto | 03:03 | |
| soh_cah_toa | i'm looking at the site now. what's oofib? | 03:04 | |
| atrodo | one of the benchmarks included in parrot | 03:05 | |
| cotto | examples/benchmarks/oofib.pir | ||
| object-oriented fibonacci | |||
| atrodo | hmmm, looks like i forgot to add the descriptions i "painstakingly" created | ||
| dukeleto | atrodo: what do you need? | 03:07 | |
|
03:14
alester left
|
|||
| atrodo | goodnight #parrot, see you tomorrow | 03:14 | |
| soh_cah_toa | see ya | 03:15 | |
| cotto | 'night | 03:16 | |
| dalek | kudo/nom: ab1dda5 | pmichaud++ | src/core/ (15 files): Convert some more pir:: opcodes to nqp:: . |
03:18 | |
| soh_cah_toa | cotto: are you gonna be at the breakfast? | 03:32 | |
| cotto | soh_cah_toa, I didn't realize there was one. | 03:34 | |
| sure | |||
| soh_cah_toa | yeah, at 9:00. it's on the schedule on the website | ||
| cotto | 9 isn't too bad | ||
| soh_cah_toa | i'll try and look for dukeleto since he's the only one i'd recognize | 03:39 | |
| cotto | soh_cah_toa, trac.parrot.org/parrot/wiki/Yapc10B...ouppicture | 03:41 | |
| the badges will help | 03:42 | ||
| soh_cah_toa | oh yay, i get a badge | 03:43 | |
| cotto sleeps | |||
| soh_cah_toa | me too | 03:44 | |
|
03:44
soh_cah_toa left
03:46
bubaflub joined
|
|||
| dukeleto | bubaflub: werd | 03:46 | |
| bubaflub | hola dukeleto | ||
| dukeleto | bubaflub: how goes? | 03:47 | |
| bubaflub | dukeleto: not bad, not bad. you with all the peeps at yapc? | ||
| dukeleto | bubaflub: yeps. Busily writing my talk for tomorrow | 03:48 | |
| bubaflub | dukeleto: very nice. wish i could be there with y'all | ||
| dukeleto | bubaflub: how is parrot-gmp ? | 03:59 | |
| bubaflub | dukeleto: not bad. had some progress since the recent blog - all the random number functions require a specific struct and initialization / seeding so i got that in place with tests. monday i should have all the integer functions totally covered. | 04:02 | |
| dukeleto: after that it's hooking up distutils to do the heavy lifting, checking we've got the right version of parrot and GMP, and adding some more basic docs. | 04:03 | ||
| dukeleto | bubaflub: awesome. You are making good progress | 04:08 | |
| bubaflub | dukeleto: woot. those are all the mid-term deliverables. i'll probably have some extra time so i'll try to get some NQP examples together. also, i've been talking with plobsing about some NCI stuff. | 04:09 | |
| dukeleto | bubaflub: what kind of NCI stuff? | 04:11 | |
| bubaflub | dukeleto: getting docs up to date first and foremost. with recent deprecations many parrot bundled examples broke, so i'm working slowly on a script and a patch for ncidef2pir.pl to get those working again. | 04:12 | |
| dukeleto: mostly just pestering him with questions so i can extract some of that NCI knowledge. | 04:13 | ||
|
04:16
Kulag left,
Kulag joined
|
|||
| dukeleto | bubaflub: are the examples seperate files? If so, we should have tests that make sure they work | 04:21 | |
| bubaflub | dukeleto: right now there is only one example - but how should i make sure they work? check the output? | ||
| dukeleto: er, i mean, the examples are full blown programs on their own. maybe a Test::More that shells out to run something? | |||
|
04:24
Kulag left,
Kulag joined
|
|||
| dukeleto | bubaflub: sure. We need to make sure our examples continue to work, or they are pretty useless | 04:25 | |
| bubaflub | dukeleto: right right. sorry, for a moment i thought you were talking about Parrot-GMP examples of which there is only one but it works. some bundled parrot NCI examples do not work because of NCI deprecations. | 04:27 | |
| dukeleto: those examples still compile from definition -> pir -> pbc fine, but through a runtime error about an invalid signature and what not. i can fix the examples that we have in the repository but ideally we still want tests to actually execute them to see if they still work. i'll keep thinking about how we can do that. | |||
| goodnight, #parrot. | 04:32 | ||
|
04:35
Kulag left,
Kulag joined
04:41
Kulag left,
Kulag joined
04:45
bubaflub left,
jsut joined
04:50
jsut_ left,
Kulag left,
rohit_nsit08 left,
Kulag joined
|
|||
| dalek | kudo/nom: c58a3dd | pmichaud++ | NOMMAP.markdown: More NOMMAP notes. |
05:14 | |
|
05:19
fperrad joined
|
|||
| dalek | kudo/nom: 27cef7c | pmichaud++ | src/core/ (2 files): Gather needs to execute its body in sink context. |
06:45 | |
| kudo/nom: 8c2ecf4 | pmichaud++ | src/core/ (2 files): Add Any.grep, Any.min. Fix &infix:<cmp> to handle infinity arguments. |
|||
|
06:48
Eclesia joined
|
|||
| Eclesia | hi | 06:48 | |
| sorear | hi | 06:49 | |
|
06:51
ligne left,
ligne joined
07:03
Kulag left,
Kulag joined
|
|||
| dalek | kudo/nom: b1195a8 | moritz++ | t/spectest.data: three more passing spectest files |
07:05 | |
|
07:05
zby_home left
07:28
jsut_ joined
07:33
jsut left
08:04
mj41 joined
08:09
Kulag left
08:11
Kulag joined
08:12
contingencyplan joined
08:17
Kulag left
08:36
ligne left
|
|||
| dalek | kudo/nom: 01af805 | moritz++ | NOMMAP.markdown: add missing regexes to NOMMAP |
08:53 | |
|
09:12
JimmyZ joined
|
|||
| dalek | kudo/nom: 30f5cc9 | pmichaud++ | src/core/MapIter.pm: Add last/next/redo handling to map loops in MapIter. Unfortunately, for much of the MapIter body, although it's very straightforward code. Fortunately, this gives us another huge speed boost, such that using map to iterate over a range is twice as fast as it was before (about 80% faster than master). while loop with an increment variable. |
09:15 | |
|
09:19
jsut joined
09:24
jsut_ left
09:25
contingencyplan left
|
|||
| tadzik | great news | 09:54 | |
| dalek | kudo/nom: 3f99683 | moritz++ | t/00-parrot/09-pir.t: adapt t/00-parrot/09-pir.t to current reality |
10:02 | |
|
10:03
daniel-s joined
10:05
woosley left
10:40
rurban_ joined
10:43
rurban left,
rurban_ is now known as rurban
11:31
lichtkind joined
11:53
mj41 left
11:59
mtk joined
12:04
Kulag joined
12:25
Drossel joined
12:27
Kulag left
12:34
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 12:34 | |
|
12:40
bubaflub joined
|
|||
| Eclesia | hi whiteknight | 12:41 | |
| whiteknight | Hello Eclesia. How are you doing today? | 12:42 | |
| Eclesia | fine, working in java, like all monday ^^ | 12:43 | |
|
12:44
benabik left
|
|||
| bubaflub | ~ | 12:45 | |
| whiteknight | good morning bubaflub | 12:51 | |
| bubaflub | morning whiteknight | ||
| how's life? | |||
| whiteknight | Good. I'm on vacation next week, so I'm looking forward to that | ||
| dukeleto | ~~ | 12:52 | |
| whiteknight | hello duke! It's a pleasure to see you online this early in the morning | 12:53 | |
| but since you're probably so bleery-eyed, I won't talk too much until you get coffee :) | 12:54 | ||
| mikehh | hi whiteknight, how you doin' today | 12:55 | |
| whiteknight | hello mikehh! I'm doing surprisingly well, for a monday. | ||
| dukeleto | whiteknight: i already went for a run and took a shower sans coffee | ||
|
12:56
benabik joined
|
|||
| dukeleto goes to get his conf badge | 12:56 | ||
| mikehh | just built a new system, core i7 2600 16GB Ram and for the moment 2TB Hard drive | 12:57 | |
| haven't installed op system yet | |||
| benabik is at breakfast. Red shirt, brown hat. :-) | |||
| whiteknight | mikehh: oh wow. Sounds like a monster. | ||
| mikehh | still working with my old 4 core amd phenom 8GB RAM | 12:58 | |
|
12:59
moritz left
|
|||
| mikehh | the new one should be faster, morew memory and 4 cores but 8 threads | 13:00 | |
| Eclesia | he calls that old ... | 13:04 | |
| mikehh | Well I built it about 2 years ago... | 13:05 | |
| Eclesia | it has more memory then my current one lol | ||
| mikehh | My son just got a 6 core/12 threads Extreme edition with 24GB RAM and one of those Top end ATI graphics cards (spent about twice what I did) | 13:07 | |
| whiteknight | My son bit me on the shoulder and drew blood | 13:08 | |
| benabik | ( whiteknight's kid )-- | ||
| mikehh | even my grandson's have stopped doin' that sort of thing | 13:09 | |
| mind you they are 9 now, will be 10 in december | |||
|
13:10
cotto left
|
|||
| mikehh thinks I must be gettin' old or somethin' - so I am told anyway :-} | 13:11 | ||
|
13:11
bluescreen joined
13:12
cotto joined
13:13
fperrad left
13:16
fperrad joined
13:19
cotto left,
cotto joined
13:28
cotto left
13:32
cotto joined
13:33
lucian joined
13:35
cottoo joined
13:36
cotto left
|
|||
| dalek | rrot: 643dba0 | mikehh++ | src/oo.c: fix codetest failure - linelength, update copyright |
13:39 | |
| Eclesia | copyright is bad :p | 13:42 | |
| mikehh | Eclesia: seems to be required by our coding standards, so may as well keep it up-to-date :-} | 13:43 | |
| and copyleft seems to have problems too | 13:45 | ||
| atrodo | =~ Good morning from asheville! | 13:48 | |
| whiteknight | good morning atrodo | ||
| mikehh | hiho atrodo | ||
| have you connected with our other intrepid parrot developers there | 13:49 | ||
| atrodo | not yet, just got setup | ||
| But i'm pretty sure I just saw Util | |||
| benabik | I see Util. He's in the lecture room thing. | 13:50 | |
| I like the dispy bot in #yapc. Displays the title for any link posted. | 13:52 | ||
| atrodo | That is a nice feature | 13:53 | |
| this is a very long room | 13:55 | ||
|
13:59
cottoo left
14:03
PacoLinux joined
|
|||
| dukeleto | atrodo: where are you in this ridiculously large room? | 14:08 | |
| atrodo | far right, second row from the front and in the middle | ||
| yellow brown shirt | 14:09 | ||
|
14:11
contingencyplan joined
|
|||
| dalek | nxed/include: 68eab5e | NotFound++ | winxedst1.winxed: implement $include |
14:19 | |
| nxed/include: 462f52d | NotFound++ | winxedst1.winxed: fix local variable hiding parameter with the same name |
14:24 | ||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#16468), fulltest) at 3_5_0-45-g643dba0 | 14:25 | |
| Ubuntu 11.04 i386 (gcc --optimize) | |||
|
14:36
hercynium joined
14:37
ambs joined
14:44
alester joined
14:46
bluescreen left
14:51
bluescreen joined
|
|||
| dalek | nxed: fb73827 | NotFound++ | winxedst1.winxed: fix extern function at root namespace level |
14:51 | |
|
14:54
jsut_ joined
14:55
jevin left
|
|||
| dalek | nxed/include: fb73827 | NotFound++ | winxedst1.winxed: fix extern function at root namespace level |
14:56 | |
| nxed/include: 51482b9 | NotFound++ | winxedst1.winxed: Merge branch 'master' into include |
|||
|
14:56
jevin joined
14:59
jsut left
|
|||
| Eclesia | NotFound: just asking, is namespace which are not identifier support, somewhere on your roadmap ? | 15:17 | |
| NotFound | Eclesia: yes, but is not a big priority right now. | 15:28 | |
| Maybe after extern function and $include got finished, but I don't think I'll add more features before the next stable parrot release. | 15:29 | ||
| Eclesia | hm.. so I'll have to change all my namespaces .. ok | 15:34 | |
|
15:35
benabik_ joined
15:36
benabik left,
cottoo joined,
benabik_ is now known as benabik
15:43
fperrad left,
fperrad joined
|
|||
| atrodo | dukeleto++ | 16:02 | |
|
16:05
Eclesia left
|
|||
| cottoo | kid51++ | 16:07 | |
| dalek | p: fa94a60 | pmichaud++ | src/PAST/NQP.pir: Add first pass at handling lexical returns; create a new :pasttype<lexotic> |
16:20 | |
|
16:29
theory joined
|
|||
| dalek | kudo/nom: f647b57 | pmichaud++ | / (3 files): Switch to using lexical returns. A return invocation now attaches purely dynamic. This implementation uses continuations directly instead of Parrot's exception handling, which may be both good and bad. We'll have to see how it all works out. |
16:30 | |
| kudo/nom: 8b62352 | pmichaud++ | t/00-parrot/09-pir.t: Merge branch 'nom' of github.com:rakudo/rakudo into nom |
|||
|
16:39
hercynium left
|
|||
| whiteknight | I've been wanting NQP to do that same exact thing for a long time | 16:43 | |
| use return continuations instead of return control exceptions | |||
|
16:45
lucian left
16:52
cottoo left
16:58
benabik left
|
|||
| dalek | nxed/include: 4282a77 | NotFound++ | t/ (2 files): test $include |
16:59 | |
| JimmyZ wonders why not use include instead of $include | 17:20 | ||
|
17:23
ambs_ joined
17:26
ambs left,
ambs_ is now known as ambs
17:38
dmalcolm joined
17:40
mj41 joined
|
|||
| dalek | kudo/nom: 3cefeb4 | pmichaud++ | / (4 files): Make fail() into a soft-fail. |
17:41 | |
|
17:49
JimmyZ left
17:51
aloha left
17:52
aloha joined
17:57
moritz joined
|
|||
| dalek | kudo/nom: c461a7d | pmichaud++ | / (2 files): Update NOMMAP (remove fail() from things-to-do). |
18:09 | |
| kudo: 1fcb142 | (Solomon Foster)++ | src/core/Complex.pm: Fix (-1) ** -i bug by switching to Complex log. |
18:10 | ||
|
18:18
benabik joined
18:31
hercynium joined
18:37
kid51 joined
18:38
cotto joined
18:40
rurban_ joined
18:43
rurban left,
rurban_ is now known as rurban
18:46
Eclesia joined
|
|||
| Eclesia | hi | 18:47 | |
| dukeleto | ~~ | 18:48 | |
| Eclesia: hola | |||
| Eclesia | what are the ~ for ? | ||
| whiteknight | just a short way to say hello | 18:49 | |
| dukeleto: how's the conference going? | 18:50 | ||
| cotto | no injuries so far | 18:51 | |
| Coke | ~ === wave | ||
|
18:57
hercynium left
|
|||
| Eclesia | ... | 18:59 | |
| NotFound: _ are valid in namespace in winxed ? | 19:00 | ||
|
19:00
kid51 left,
hercynium joined
|
|||
| dukeleto | whiteknight: quite well | 19:02 | |
| whiteknight: we had a parroty lunch with many parrot hackers | 19:03 | ||
| whiteknight: cotto and I have been thinking about what kind of language we should use to generate M0 | 19:04 | ||
| whiteknight: have any ideas? | |||
| cotto | at this point, criteria are more important than a specific language recommendation | 19:08 | |
| whiteknight | for the lowest-level system language that compiles down to M0, I suspect we want something syntax-light and familiar enough to get started working with it | 19:09 | |
| something that's easy and efficient to compile seems like a good idea too, but easy-to-implement compilers might take precidence | 19:10 | ||
| cotto | a very straightforward translation between the language and M0 is important | 19:13 | |
| some magic, but not much | 19:14 | ||
| whiteknight | I do keep coming back to the idea of something C-like, since those kinds of compilers are well understood and the syntax is very familiar to most parrot hackers | ||
| benabik | +1 | 19:15 | |
| whiteknight | although, something lighter on syntax like a ruby or python subset (minus much of the whitespace issues) would probably work just as well | ||
| cotto | it's also important to keep in mind that we'll be writing a ton of code in this language | ||
| whiteknight | if we could modify Winxed to do it, I think I would prefer that the most. I don't know if winxed is in that kind of condition. A lot of winxed features rely on PIR features, which might not map well at this stage | 19:16 | |
| cotto | c-like is great | ||
|
19:16
zby_home joined
|
|||
| whiteknight | so you would need a pared-down winxed subset, which isn't unthinkable | 19:16 | |
| cotto | if we wanted winxed, we'd need to fork it anyway | 19:17 | |
| whiteknight | right | ||
| and like I said, a lot of winxed syntax would need to be cut out | |||
| namespaces, class, etc | |||
| Eclesia | if I understand correctly : cotto want pir, but with c-like syntaxe. nothing else ? | 19:18 | |
| cotto | yeah. the object system will need minimialism | ||
| Eclesia, no | |||
| whiteknight | Eclesia: we want a very low-level language to replace PIR | ||
| cotto | and C | ||
| Eclesia | replace C ? | 19:19 | |
| whiteknight | cotto: I say we take a list of capabilities of M0, then take C and start ripping out everything from C that isn't covered by M0 or that doesn't map nicely, or that isn't required for our purposes | ||
| Including the entire C preprocessor | |||
| because implementing macros is too big a pain for too little benefit | |||
| cotto | whiteknight, I like that | 19:20 | |
| whiteknight | We can write that compiler in any language. Winxed might be a very good choice for that purpose | ||
| sorear | will C-M0 have structs? | ||
| cotto | we don't need a strict subset of C, but something close to C would be great | ||
| sorear, it will have to | |||
| whiteknight | right, but that's a good base to start with. Remove what we don't need, add what we do need, and try to keep it easy and familiar | 19:21 | |
|
19:22
kid51 joined
|
|||
| sorear | if you're going to make a C-like language I have two small requests to make | 19:22 | |
| cotto | sorear, please do | ||
| sorear | 1. int* x, y; declares two pointers, like C# (int* is just a type, no "declaration mirrors use" magic) | 19:23 | |
| 2. functional casts int(x); ((int)x) is obnoxious to write and parse | |||
| cotto | that bit of C isn't well thought out. +1 | ||
| also a nice idea | |||
| any suggestion for a name for this thing? | 19:24 | ||
| Eclesia | (remove pointers, values by copy, object by ref, much easier to understand) | ||
|
19:25
p6eval left
|
|||
| dalek | rakudo/nom: 9a33668 | pmichaud++ | src/ (3 files): | 19:25 | |
| sorear | Eclesia: this is the language we're going to implement the object system *in* | 19:26 | |
| cotto | yes | ||
| sorear | Eclesia: it won't have objects | ||
| except as a matter of convention (PMC*) | 19:27 | ||
| Coke | cotto: why not just write it in C to start with. then you can see what you needed or not. Rather than adding an entire new language to the pile of things that needs to be created. | 19:28 | |
|
19:28
dalek left
|
|||
| whiteknight | cotto: M0C | 19:28 | |
| Coke | (design it ex post facto) | ||
| cotto | Coke, it needs to compile to M0 | 19:29 | |
| whiteknight | Coke: because we need the language to build M0. We're going to need to write a compiler anyway to generate the M0 code we want | ||
| so we can try to modify an existing C compiler to do what we want, including ignoring all the C syntax we don't want or can't support | |||
| Coke | Ah, so you can't use C for free to start with. | ||
| whiteknight | right. Would if we could | 19:30 | |
| cotto | whiteknight, I'm not sure about that approach. I guess it depends on the quality of the code of the compiler and how easy it is to retarget. | ||
| benabik | I really think int* x,y being two pointers would be very confusing. Esp since I'd write int *x, y; | 19:31 | |
| Although I guess int* and int * could be different... | |||
| whiteknight | cotto: Yeah, I don't recommend it. I'm simply pointing that out as the alternative, if we don't make our own compiler for it | ||
| well, before talking about declarations, what types does M0 handle? | 19:32 | ||
| cotto | not having to write a full compiler is nice though | ||
| whiteknight | do we have more than just intval, floatval, string, pmc, and maybe a void* ptr type? | ||
| If our type system is confined enough, we don't need things like * for pointers or other gabbledegak | |||
| benabik | True, and possibly better. | 19:33 | |
| cotto | I like that idea. | ||
| whiteknight | we only need "int*" if we want to differentiate between "pointer to an int" from "just another pointer" | ||
| cotto | not sure if it'll be feasible though | ||
|
19:34
p6eval joined
|
|||
| benabik | Although isn't there no difference between string and pmc in M0? | 19:34 | |
| whiteknight | I haven't read the M0 design docs in a little while, I don't even remember what all types it can work with | ||
| cotto | benabik, right. | ||
| NotFound | A backend for a subset of winxed is doable. Is what winxedxx does. | ||
| cotto | there'll probably also be primitive strings that aren't entirely unlike C-strings | ||
| whiteknight | Notfound: Could you start writing up some details about how to do that? I would like to use Winxed or something winxed-alike if possible | 19:35 | |
| NotFound | The basic recipe is simple: just use the "target": "parse" in the options passed to the compiler, and then do things with the result ;) | 19:37 | |
|
19:37
kid51 left,
dalek joined
|
|||
| NotFound | The only problem is the high coupling with the implementation of the compiler. | 19:38 | |
| cotto | I've got a gist I'll use to start a wiki page. | 19:40 | |
| NotFound | BTW I think the clean and simple solution to the "int* x, y;" thing is not allowing multiple declarations. | 19:41 | |
|
19:41
benabik left
|
|||
| cotto | or make int* the type | 19:41 | |
| NotFound | cotto: if the goal is to make the language close to C, that is a big source of confusion. | 19:42 | |
| cotto | NotFound, yeah | ||
| I wonder if this is one of those things like "say" that will be different but still feel natural and sensible | 19:44 | ||
| NotFound | About the functional cast, there is also a solution: being compatible with a subset of C++ instead of a subset of C. | ||
|
19:50
zby_home left
|
|||
| whiteknight | nobody wants compatibility, I don't think. Just familiarity | 19:50 | |
| it doesn't need to be C or C++, just needs to have some of the same kinds of syntax | 19:51 | ||
| We could just as easily be inspired by JavaScript, and not lose anything | |||
| NotFound | Comptibility has the advantage of easier testability of proofs of concept. | 19:52 | |
| cotto | whiteknight, yes | 19:55 | |
| C is nice because Parrot's currently written in it. | |||
| Eclesia interrupt one second : how to load a pbc in winxed at any time. | 19:56 | ||
| Eclesia ? | |||
| NotFound | Eclesia: load_bytecode(filename) | ||
| whiteknight | eclesia: load_bytecode("foo.pbc") | ||
| :) | |||
| Eclesia | thanks | ||
|
19:57
cjh left
|
|||
| cotto | I suspect (but can't verify) that attempting to maintain compatibility with an existing language will be more work than it's worth | 20:00 | |
| NotFound | We have powerful tools for writing languages, the hypothesis may be easily verifiable. | 20:02 | |
|
20:02
hercynium left
20:04
daniel-s left
|
|||
| whiteknight | cotto: I don't want compatibility. Just familiarity | 20:05 | |
| take ideas from existing syntax, but don't be a slave to it | |||
| cotto | whiteknight, that's great. I agree. | ||
| whiteknight | Basically, when I say a "C-alike syntax" I'm talking about post-circumfix parenthesis being a function call, brackets to delimit blocks, etc | 20:06 | |
| infix operators for arithmetic, common keywords like "if", "else", "while", etc. | |||
| that's all I want | |||
| cotto | and when I say "lisp-like", the room suddenly gets quiet | ||
| ;) | |||
| whiteknight | (we (don't (want (lisp))) | 20:07 | |
| cotto | (which is one of the many reason I'm not suggesting it) | ||
| whiteknight | or, let me rephrase that. (I (don't (want (lisp)))) | ||
| cotto | the first version was fine | ||
| whiteknight | I won't speak for (we) | ||
| cotto | or at least some subset of "we" | 20:08 | |
| whiteknight | I put the "I" in "we" | ||
| NotFound sing We are the world | |||
| cotto | I are the world? | 20:09 | |
|
20:10
benabik joined
|
|||
| NotFound | #define I We | 20:10 | |
| cotto is watching kid51++ talk at yapc | 20:16 | ||
| whiteknight | oh, what's he talking about? | ||
| cotto | this might sting a bit | ||
| recording now | |||
| whiteknight | what might sting? | 20:17 | |
| cotto | the talk | ||
| benabik | "Open Source Software Projects: Two Stages and Ten Questions" | 20:18 | |
|
20:18
soh_cah_toa joined
|
|||
| whiteknight | why would it sting? I'm not following | 20:22 | |
| dukeleto | ~~ | 20:24 | |
| dukeleto is listening to kid51++ talk | |||
| atrodo is also listening to kid51++ talk | 20:25 | ||
| benabik | Ditto, ditto, etc etc | ||
| Eclesia suffer a parrot overdose. going to bed +++ | 20:26 | ||
|
20:26
Eclesia left
|
|||
| whiteknight | if you're going to overdose on anything, Parrot is a good choice | 20:27 | |
| benabik | Yar, a little bit of sting so far. Brutal honesty and all. :-) | 20:29 | |
| NotFound | I'm thinking about how and where to install winxed include files. The 'inst_inc' section in distutils seem a bit limited. | ||
|
20:30
whiteknight left
|
|||
| dukeleto | bubaflub: ping | 20:33 | |
| bubaflub | dukeleto: pong | 20:35 | |
| dukeleto | bubaflub: i have a parrot-gmp repo. parrot setup.pir doesn't do anything yet. What do I do to take it for a test drive? | 20:37 | |
| bubaflub | dukeleto: ah, yes. sorry about that. i haven't gotten to setup.pir yet. | ||
| dukeleto: i've included the generated PIR from the Winxed sources. are you at HEAD? | 20:38 | ||
| dukeleto | bubaflub: yep, just cloned a minute ago | ||
| bubaflub | parrot -o src/GMP/Common.pbc src/GMP/Common.pir | ||
| parrot -o src/GMP/Integer.pbc src/GMP/Integer.pir | |||
| ooooh, sorry, before that | 20:39 | ||
| parrot -o src/GMP/raw.pbc src/GMP/raw.pir | |||
| then you should be able to do parrot-nqp t/harness | |||
| dukeleto | bubaflub: this leads me to believe that you should spend 5 minutes to make setup.pir work :) | 20:40 | |
| bubaflub | dukeleto: indeed. | ||
| dukeleto | $ parrot-nqp t/harness | 20:42 | |
| "load_bytecode" couldn't find file 'rosella/harness.pbc' | |||
| bubaflub: i have rosella, but not installed | 20:43 | ||
| bubaflub: how do I tell the harness where to find it? | |||
| bubaflub | dukeleto: ah, i'm not entirely sure... i just have rosella via plumage. perhaps there is some way to include a path with parrot-nqp? | ||
| dalek | rrot: 8352b99 | fperrad++ | tools/dev/fetch_languages.pl: [languages] Winxed moves to Github |
20:44 | |
| dukeleto | bubaflub: i can try to install via plumage. you should document that that is the preferred way to get parrot-gmp and rosella to play nice | 20:46 | |
| bubaflub | dukeleto: while i figure that out, you should be able to run winxed examples/basic.winxed | ||
| dukeleto | bubaflub: yay, it worked | 20:48 | |
| bubaflub | dukeleto: *phew* | ||
| dalek | kudo/nom: b79c7b3 | (Martin Berends)++ | src/core/Cool.pm: [src/core/Cool.pm] add sub equivalents of 11 Str methods |
20:50 | |
|
20:51
fperrad left
|
|||
| benabik | "shoving Parrot up Firefox" Interesting phrase | 20:51 | |
| atrodo | a parrot up a fox... hmmm... | ||
| dalek | rrot-gmp: 6882f70 | bubaflub++ | examples/basic.winxed: we've got a VTABLE override, let's use it |
20:52 | |
| rrot-gmp: 49d9982 | bubaflub++ | README.md: clarify dependencies |
|||
|
20:55
ambs left
|
|||
| cotto | and back | 20:58 | |
| dalek | kudo/nom: 0594102 | (Martin Berends)++ | t/spectest.data: [t/spectest.data] uncomment tests for chomp chop and flip |
21:08 | |
| atrodo | Oh, good, looks like ipfy will have some new data soon | 21:12 | |
|
21:12
bluescreen left
21:33
soh_cah_toa left
|
|||
| bubaflub | seen plobsing | 21:41 | |
| aloha | plobsing was last seen in #parrot 3 days 3 hours ago saying "wasn't that ES4?". | ||
|
21:41
soh_cah_toa joined
21:42
Psyche^ joined
21:47
Patterner left,
Psyche^ is now known as Patterner
21:52
daniel-s joined
|
|||
| dalek | rrot: c899706 | pmichaud++ | compilers/pct/src/PAST/ (2 files): [pct]: Add 'signature' attribute to PAST::Node, to explicitly request a particular signature for evaluating children. |
21:56 | |
| benabik | Ahhh, more PAST changes! ;-) | 21:57 | |
| dalek | p: 342cd53 | pmichaud++ | tools/build/PARROT_REVISION: Bump PARROT_REVISION to get PAST::Node signatures. |
||
| pmichaud | this change to PAST is pretty small. :) | 21:58 | |
| but it increase flexibility a lot. | |||
| *increases | |||
|
21:59
jsut joined
|
|||
| benabik | 'sall good. | 21:59 | |
|
21:59
soh_cah_toa left
|
|||
| jnthn__ | pmichaud: ooh | 21:59 | |
| pmichaud: How's that one used? | |||
| NotFound | dukeleto: about the load_bytecode problem, you can try to set the PARROT_LIBRARY env var. | 22:00 | |
| benabik | PCT needs more usage doc across the board. :-/ | ||
|
22:02
benabik left
|
|||
| jnthn__ | pmichaud: Wait, does this mean we can say which node in a multi-node element is the result one? :) | 22:03 | |
|
22:04
jsut_ left
22:07
lichtkind left
|
|||
| NotFound | pmichaud: There is command or something to update nqp-rx stage 0 files? | 22:08 | |
| pmichaud | jnthn__: yes, that's exactly what it does. :) | 22:09 | |
| similar to what we can do for pirops. But I'd only use it on PAST::Stmt, PAST::Stmts, and PAST::Op :pasttype<stmts> | 22:10 | ||
| in other cases it's likely to not dtrt | |||
| jnthn__ | Najs! :D | ||
| dalek | kudo/nom: dc16a4f | pmichaud++ | / (3 files): Refactor return handling to be in a single place (DRY). Handle the case where someone tries to return from an already-exited subroutine. |
||
| kudo/nom: 3efe8f8 | pmichaud++ | NOMMAP.markdown: NOMMAP update. |
|||
| pmichaud | mainly it means you can specify a sequence of things to be done but you're no longer limited to the last one (as long as you don't have more than ten things to be done... but if that's the case you can factor it anyway :) | 22:11 | |
| ...limited to the result being the last one. | |||
| In this case, I had some cleanups that needed performing after the calculations but I didn't want them affecting the overall result. Fixing it with if nodes and temporary registers was going to be a pain. | 22:12 | ||
| this is a lot more straightforward :) | |||
|
22:12
whiteknight joined
22:13
whiteknight left
22:14
whiteknight joined,
cotto left
|
|||
| dalek | kudo/nom: 872a536 | jonathan++ | NOMMAP.markdown: Comment on a couple of nommap items. |
22:15 | |
| jnthn__ | pmichaud: I can see that reducing pain in a few cases I've had in the PAST, yes. | ||
|
22:15
lichtkind joined
|
|||
| whiteknight | sorear++ | 22:23 | |
| dalek | kudo/nom: 4fc90f1 | jonathan++ | src/Perl6/Metamodel/ParametricRoleHOW.pm: Fix role-based dispatch up a bit more. Should be able to distinguish by Positional and Associative now. |
22:31 | |
|
22:35
PacoLinux left
22:39
eternaleye left
22:40
mj41 left,
eternaleye joined
|
|||
| dalek | kudo/nom: eda6101 | jonathan++ | src/Perl6/Metamodel/ParametricRoleHOW.pm: is_composed in ParametricRoleHOW so we can stub a role. |
22:48 | |
| kudo/nom: 144660f | jonathan++ | src/core/traits.pm: Stub Positional/Associative/Callable in preparation for making sigils map to roles. Need to do this really early. |
|||
|
22:51
cotto joined
22:56
dmalcolm left
23:05
daniel-s left
|
|||
| dalek | kudo/nom: 0035ddb | jonathan++ | / (5 files): Roles should be narrower than Cool/Any/Mu. |
23:07 | |
|
23:22
bluescreen joined
|
|||
| NotFound | I'm glad to see winxed mentioned in a presentation at YAPC, but a little disapointed seen it descibed as a library. | 23:26 | |
| whiteknight | who described it as a library? | 23:27 | |
| NotFound | James E Keenan to parrot-dev - Text in Open Office format: thenceforward.net/perl/yapc/YAPC-NA...1/ossp.odt | 23:29 | |
|
23:34
cottoo joined
23:35
cotto left
|
|||
| dalek | kudo/nom: f670236 | jonathan++ | src/Perl6/Actions.pm: Dispatch by sigil. |
23:36 | |
| kudo/nom: d6c905b | jonathan++ | / (2 files): Fix &infix:<cmp> proto. |
23:41 | ||
|
23:53
Drossel left,
Kulag joined
|
|||