Parrot 3.5.0 "Menelaus" released | parrot.org | Log: irclog.perlgeek.de/parrot/today | #parrotsketch meeting Tuesday 1930 UTC | Code freeze in effect except for test failure fixes
Set by moderator on 14 July 2011.
jay WOW! Cripes. Wasted hours. Actually, I think one of my google searches got me to part of that, but I obviously didn't realize there was more and didn't bookmark it. 00:00
NotFound++ thanks for that. 00:01
NotFound jay: winxed is fairly simple, it has only the type corresponding to its pir counterparts: int, float, string, var.
And the classes available are the PMC and classes that core parrot and its libraries provide. 00:02
jay Right... got that. I was getting into classes and starting to hit the wall. You gave me class MyInteger : ['Integer'] { } and I was trying to go from there. I tried class MyBoolean : ['Boolean'] { }
...and thus ran into this issue with Boolean back in PIR, not getting it. Method to my madness.
dalek rrot: 3e3ffda | jkeenan++ | t/configure/035-step.t:
Start to provide better test messages.
00:04
NotFound Inheriting from PMCs is possible, but does not always works well.
www.h-online.com/open/news/item/Hur...79253.html 00:09
After Duke Nukem Forever got released, all is posible.
00:10 Kulag joined
bubaflub NotFound: do you have an example of Winxed using :slurpy stuff? 00:10
NotFound: or i guess i could just pack it into an array first... 00:11
00:11 Drossel left
NotFound bubaflub: is used in the compiler 00:13
bubaflub NotFound: great, thanks. 00:14
NotFound And in examples/httpserver.winxed
In the compiler, the print and say methods in Emiter 00:17
Emit, I mean 00:18
00:19 Kulag left, Kulag joined
bubaflub NotFound: i'm having a problem in Winxed where i'm trying to concatenate strings but they are being interpreted as integers or something else (and getting stringified to 0) - anyway i can force strings? 00:20
i'd rather not cast everything as a string before adding
jay bubaflub there is join() according to whiteknights stuff! 00:21
bubaflub jay: nice. jay++
jay lol
I was browsing the list on whiteknight.github.com/Rosella/winx...types.html 00:22
NotFound bubaflub: string(whatever) 00:23
bubaflub NotFound: ok, thanks.
NotFound bubaflub: the problem is that + means concatenation only if both operands are known to be strings. 00:24
Known at compile time.
jay Coroutines: wow. Interesting.
NotFound join is also useful, yes, 00:25
00:26 logie left
NotFound Specially when there are several mixed typed things to concatenate: join("", [ list of things ]); 00:26
00:27 daniel-s joined 00:28 Kulag left 00:29 Kulag joined
bubaflub NotFound: great, got it to work. i used join for building up command line arguments in my setup.winxed 00:35
00:39 lucian left
bubaflub NotFound: another Winxed question - can i do get/set_global? i don't want to getinterp()[IGLOBALS_CONFIG_HASH]; everytime i want to look up a config key in my setup.winxed 00:39
00:40 Kulag left, darbelo left
NotFound bubaflub: you can use pirops to get/set globals, or use my favourite trick: function getsomething() { var something = .....; for (;;) yield something; } 00:41
bubaflub NotFound: that is a neat trick. a bit opaque but awesome. 00:42
00:43 Kulag joined
bubaflub NotFound: can i do a get_global and assignment in one line? i'm trying var config = ${ function() { return get_global 'config' } }; and that doesn't work 00:44
NotFound bubaflub: What are you tring to do, use the get_global op? 00:46
bubaflub NotFound: yeah. i have a function to look up something in the config hash. i don't think it'd be great to call getinterp() every time i look up; rather grab the config hash once and stash it. 00:47
NotFound bubaflub: So you want config to be a function that just return the config hash, or to get a item from that hash? 00:50
bubaflub NotFound: the item from that hash
NotFound: like _config('has_libffi')
so in my function _config() i don't think i should getinterp() every time, right? 00:51
00:51 Kulag left, Kulag joined
NotFound bubaflub: that should do it: var config = function(string key) { var cfgh; ${ get_global cfgh, "config" }; return cfgh[key]; } 00:52
bubaflub NotFound: great, thanks.
dalek p: 46693c7 | pmichaud++ | src/ops/nqp.ops:
Fix bug arising from C operator precedence thinko.
00:53
NotFound bubaflub: the getinterp builtin genertates just a getinterp op, is cheap. 00:55
bubaflub NotFound: ok; i figured it might be some premature optimization
NotFound And getting the hash from the interpreter should not be more expensive than getting a global. 00:56
dalek rrot-gmp: 0a99c90 | bubaflub++ | setup.winxed:
update setup.winxed:

use parrot_nci_thunk_gen build NCI thunks to shared libraries refactor a bit of building and system commands
00:58
rrot-gmp: 53db139 | bubaflub++ | .gitignore:
update .gitignore; add built thunks
rrot-gmp: 02ed89c | bubaflub++ | src/GMP/ (3 files):
update generated PIR from latest Parrot/Winxed combo
NotFound Anyway, a setup is not critical in speed at all, so write in the cleaner way without worrying about that.
bubaflub NotFound: agreed. 00:59
00:59 woosley joined 01:00 kid51 is now known as kid51_at_dinner
dalek rrot: 5c26bb7 | jkeenan++ | lib/Parrot/Test.pm:
Provide better diagnostic messages on failures to open().
01:00
kudo/nom: 196eb09 | pmichaud++ | tools/build/NQP_REVISION:
Bump NQP_REVISION to get radix fix.
01:02
NotFound AFK
01:06 jawnsy joined
jawnsy I just read chromatic's blog about Parrot ("Less Magic, Less C, A Faster Parrot") 01:07
it leaves me a bit concerned that Parrot sounds an awful lot like Java :-/
dalek rrot/m0-prototype: 069285a | cotto++ | src/m0/perl5/m0_interp.pl:
add a header to M0 primitive strings, making most test fail
01:08
cotto_work jawnsy: in some superficial ways, yes. It a bunch of ways, not even a little. 01:09
*In
jawnsy I'm happy so long as it's not as painfully slow as Java, I guess. 01:10
01:17 theory left 01:24 simcop2387_ joined
bubaflub seen plobsing 01:25
aloha plobsing was last seen in #parrot 6 hours 56 mins ago saying "*if it does not work at first".
01:26 simcop2387 left, simcop2387_ is now known as simcop2387
bubaflub ping jay 01:31
01:32 Kulag left, Kulag joined
dalek rrot-gmp: a0c763e | bubaflub++ | setup.pir:
updated setup.pir
01:35
rrot-gmp: 5956c4c | bubaflub++ | / (3 files):
fix missing string cast and move a few things around
rrot-gmp: 552f76b | bubaflub++ | src/GMP/thunks.nci:
add thunk for string functions
rrot-gmp: acb8999 | bubaflub++ | / (5 files):
no longer require libffi:

load thunk in GMP::Common remove check and requirement for libffi in setup.winxed update README
bubaflub msg jay my latest commits generate generate thunks and load the compiled stuff 01:38
aloha OK. I'll deliver the message.
01:56 theory joined
cotto_work time to go home 01:56
01:57 bubaflub left 02:02 theory left 02:03 preflex left 02:07 preflex joined 02:13 kid51_at_dinner is now known as kid51
cotto ~~ 02:23
dalek p: dad45a0 | pmichaud++ | src/ops/nqp.ops:
Fix off-by-one error in radix conversion.
02:27
jay Back... congrats bubaflub, nice! I'll have to look... 02:32
02:33 lg_quassel joined 02:35 losinggeneration left
kid51 Code freeze notice just posted to parrot-dev 02:38
02:39 kid51 left 02:58 lichtkind left 03:16 bubaflub joined
jay welcome back bubaflub, and congrats on your thunk success! 03:17
bubaflub jay: thanks. i'll have to figure out exactly where to install some of this stuff, but it works. i'll write up a little something something tomorrow; a step-by-step for others.
jay It will be easier now rather than later... !_) 03:18
Not literally now. Just now-ish and not a month from now.
bubaflub jay: indeed. still fresh in my mind. some of the trickiness is using the Parrot config hash to call the write compiler and linker with all the correct flags. 03:19
03:37 bluescreen left
jay g'night, bubaflub! 03:51
03:51 jay left 03:53 theory joined 04:00 daniel-s left 04:01 daniel-s joined
dalek kudo/nom: 6b3b601 | pmichaud++ | src/core/operators.pm:
Fix regression introduced in ef31cef. According to S03-sequence/basic.t,

denominators are 1. Instead of narrowing values, narrow the geometric factor whenever its denominator is 1.
04:23
kudo/nom: 90a61f8 | pmichaud++ | src/core/Cool.pm:
Fix some bugs in .rindex method.
kudo/nom: 3923684 | pmichaud++ | / (2 files):
More Str.Numeric fixes and improvements.

Although converting a string with no number is supposed to fail, doing so causes all sorts of issues throughout the spectests with no clear-cut solutions. Therefore I'm fixing the conversion to treat non-numbers as integer zero for now, until we can regroup and figure out how we want to handle the failure cases.
Note that any non-whitespace characters following a valid number or partial number still results in a failure, though.
04:38 preflex left 04:39 Kulag left 04:40 Kulag joined 04:42 preflex joined 04:46 Kulag left 04:47 Kulag joined 05:12 logie joined 05:13 Kulag left 05:15 Kulag joined 05:21 Kulag left 05:27 Kulag joined 05:33 Drossel joined, Kulag left 05:38 Kulag joined 05:39 Drossel left 05:44 Kulag left
dalek rrot-libgit2: 71155e0 | dukeleto++ | src/git2.nci:
Update NCI file for v0.14.0
05:50
05:50 Kulag joined
dalek rrot-libgit2: 465b2ef | dukeleto++ | rosella/ (20 files):
Keep a copy of Rosella 2179dc26f8 in our repo so people don't need to fetch an external dep to run our test suite
06:22
rrot-libgit2: 43a7a1d | dukeleto++ | rosella/ (2 files):
Add some metadata about rosella
rrot-libgit2: 60a990e | dukeleto++ | / (2 files):
Attempt to restructure the Winxed namespaces that things go in
06:40 theory left, logie left 06:51 fperrad joined 06:59 mj41 joined 07:07 preflex left 07:10 preflex joined
dalek kudo/nom: 48ba2f3 | moritz++ | tools/build/Makefile.in:
[build] "make test" needs to depend on Test.pir, because the last test attempts to load Test.pm
07:23
07:27 Drossel joined 07:28 Kulag left 07:29 fperrad left 07:36 fperrad joined 07:52 Kulag joined 07:53 Drossel left 07:59 zloyrusskiy joined
dalek rrot/m0-prototype: f89e43e | cotto++ | src/m0/perl5/m0_ (2 files):
implement get/set word ops and add some header-awareness and null termination

This enables basic string manipulation ( see
  gist.github.com/1083875 ).
08:26
rrot/m0-spec: 09a45fd | cotto++ | docs/pdds/draft/pdd32_m0.pod:
add get_ and set_word ops, hopefully not for long

This lets me deal with strings with headers in a reasonable fashion, but it's also another two ops. Preferable would be to roll get/set word/byte into a single op. For now, this serves as a tolerable first approximation.
cotto dukeleto, github.com/parrot/parrot/commit/f89e43eb71 08:27
time for sleep 08:31
08:33 Kulag left 08:34 Kulag joined 08:40 Kulag left 08:45 Drossel joined 08:51 Drossel left 08:53 contingencyplan left 08:56 Kulag joined 09:22 particle1 joined 09:24 zloyrusskiy left 09:26 particle left 09:32 Kulag left 09:35 Kulag joined 10:01 Kulag left 10:02 Kulag joined 10:05 woosley left 10:15 autark left 10:27 Kulag left 10:29 Kulag joined
dalek TT #2151 closed by Felipe++: Memory leak on imcc_compile_buffer_safe() function 10:43
TT #2151: trac.parrot.org/parrot/ticket/2151
kudo/nom: 3bf08d5 | moritz++ | src/core/Cool.pm:
handle case of empty needle in rindex
10:53
10:59 preflex left 11:02 preflex joined 11:06 jsut joined 11:11 jsut_ left 11:32 woosley joined 11:41 smash left 11:46 JimmyZ joined 11:54 jay joined, jay left, jay joined 11:58 plobsing joined 12:02 JimmyZ_ joined 12:03 JimmyZ_ left 12:06 JimmyZ left 12:07 fahad left 12:11 plobsing left 12:17 whiteknight joined, zloyrusskiy joined
whiteknight good morning, #parrot 12:19
Felipe good morning parroters :)
12:20 bluescreen joined
whiteknight hello Felipe: Awesome work on that ticket 12:23
Felipe++
jay good morning parrot 12:24
whiteknight good morning, jay 12:26
12:27 ambs joined
jay I have a feeling I'm re-inventing the wheel, but this seems obvious: after a basic grammar, action, and runtme is in place so there is core functionality, can't additional functionality of a language be written in the language itself? Kind of like a second stage of the build process? 12:27
whiteknight: thank you for whiteknight.github.com/Rosella/winx...ndex.html. If I get away from NQP and into Winxed and wanted to contribute, you'll have to tell me how best to do it. Docs are needed. 12:29
whiteknight jay: Yes, once you have the basics of syntax put together in NQP, you should be able to write the rest in the language itself. That's called bootstrapping and we do a lot of it around here 12:31
Coke jay - sure, perl6 does that.
(though, since perl6 looks a lot like nqp, that can be hard to suss out.)
whiteknight When I was working on Matrixy, my Matlab clone, a lot of the "builtin" functions that weren't needed at the lowest levels were written in M
Felipe whiteknight: thanks, I want contribute more and more :)) 12:32
whiteknight jay: At the moment, NQP is probably the better choice in terms of building a compiler. It has the grammar and related functionality. Winxed doesn't have that stuff built-in, but there are projects around to add that
jay Interesting. Good term. Also used in the field of statistics.
whiteknight There's an OMeta port for winxed, and there's an LALR library being developed for GSOC
jay I was pretty down on NQP a day or so ago, but am feeling better this AM. 12:33
whiteknight jay: It's a very low-level language, deceptively so. It's not completely unlike a C-level language, for the VM 12:34
it's easy to get down on it when it simultaneously seems to have so much of its own semantics, and yet exposes so many of the nitty-gritty details
jay You expressed that better than I could have.
whiteknight that's why we write compilers for better languages, like R. Then we never have to think about NQP or PIR or any of this Parrot crap ever again
ideally, Parrot should be the invisible foundation on which the better things are built 12:35
jay Talk about a thankless job... so... thanks, all! I'm sold on it.
whiteknight oh, that's like saying making steel is thankless. Nobody buys a block of steel for itself, you buy cool things made of steel 12:41
you don't even need to know what your bridge is made of, you just know it's big, it's safe, and it's not going nowhere 12:43
jay lol And hopefully someone wrote down direction on how to build it. Just in case.
whiteknight :)
msg dukeleto: I just built Rosella on parrot/winxed HEAD without any issues. Can you try a git clean -xdf to double-check it's not some kind of weird holdover issue? 12:44
aloha OK. I'll deliver the message.
whiteknight hmmm, I am seeing a segfault on the String.t test, so that's not good. Segfaults are never good 12:47
I suspect there is a problem with sprintf somewhere
msg dukeleto: Nevermind that last message, I am seeing a segfault on my machine in rosella t/string/String.t in the sprintf code still. It's probably a heisenbug that pops up for you in setup.winxed. I'll take a gander 12:48
aloha OK. I'll deliver the message.
jay Are the gist pastes and links long-lived? E.g. does it make sense to link to them from a blog? 12:55
13:01 GeJ left, GeJ joined 13:04 zloyrusskiy left
bubaflub jay: i believe gists do not expire but you might want to put it somewhere else 13:05
jay Thanks. good morning bubaflub!
whiteknight gists don't expire, that I am aware of
bubaflub morning jay 13:06
13:09 plobsing joined 13:10 soh_cah_toa left 13:13 jsut_ joined
bubaflub whiteknight: last night i got the NCI thunk shared library to build correctly. is there a place i need to install it to? 13:13
or rather copy it to outside of my own project repo 13:14
13:14 rurban joined 13:15 plobsing left, ambs left 13:18 jsut left
whiteknight bubaflub: for what, for installing it? 13:20
bubaflub whiteknight: yeah. i imagine i'll have to put my shared library somewhere for people to use my stuff, right?
whiteknight We really need to add this crap to distutils, to cut out all this guesswork 13:21
13:24 zloyrusskiy joined 13:35 plobsing joined 13:40 Coke left, Coke joined
NotFound sprintf is an horrendous function and concept, I think it will be better to use a StringBuilder 13:45
Everytime I use sprintf the Invisible Pink Unicorn kill a lisp developer. 13:46
whiteknight so what's causing these segfaults? 13:52
It's distressing because of the nature of the loop inside the GC. Items being marked shouldn't be able to get marked again 13:55
NotFound whiteknight: probably some misconversion or lack of conversion between strings and pmcs.
whiteknight so why did it just start appearing now? 13:56
or is that just a coincidence?
NotFound Don't know, it can be related to recent changes in the sprintf builtin. But in any case, it should never segfault, no matter how wrong it may be used. 13:57
whiteknight right, that's what has me worried. There's no way a winxed change should make Parrot segfault
how did the winxed sprintf builtin change? 13:58
NotFound Unless you are using with a PMC got from foreign territories via nci, of course.
whiteknight: I deleted the PMC variant
But the internals of the sprintf ops are the same, both variants use Parrot_psprintf 13:59
whiteknight right 14:00
14:00 darbelo joined
dalek R: 02f6997 | (Jay Emerson)++ | / (8 files):
Settling on Fixed*Array design
14:00
jay parrot.org/content/vector-design-de...y-steps... 14:02
NotFound const INTVAL pat_len = (INTVAL)Parrot_str_byte_length(interp, pat); WTF?
(In Parrot_sprintf_format)
Why bytelength?
dalek website: jayemerson++ | vector design decision and baby steps... 14:06
website: www.parrot.org/content/vector-desig...y-steps...
14:07 darbelo left 14:09 zloyrusskiy left, lucian joined, darbelo joined
NotFound ./winxed -e 'string s = sprintf("aƱo %i", [ 2011 ]);'; -> Cannot get character past end of string 14:10
14:11 zloyrusskiy joined
NotFound ./winxed -e 'string s = sprintf("aƱo %i", [ 2011 ]); say(s);'; -> After changing str_byte_length to str_length: aƱo 2011 14:13
Maybe unrelated, but worth fixing.
14:17 logie joined 14:19 Coke left, Coke joined
dalek rrot: 94936d4 | NotFound++ | src/spf_render.c:
fix Parrot_sprintf_format: use char length, not byte legth, in the format string
14:21
NotFound whiteknight: test with this fix, just in case. 14:22
whiteknight i will do it in a little while
14:25 zloyrusskiy left
dalek kudo/nom: 8c957ea | pmichaud++ | / (2 files):
Add Inf and NaN to Str.Numeric. Add S32-str/numeric.t to spectests.
14:27
moritz perl6: say +'+NaN' 14:28
p6eval niecza v7-38-gf5e9082: OUTPUT«Unhandled exception: System.FormatException: Unknown char: N␤ at System.Double.Parse (System.String s, NumberStyles style, IFormatProvider provider) [0x00000] in <filename unknown>:0 ␤ at System.Double.Parse (System.String s, IFormatProvider provider) [0x00000] in
..<filename unkno…
..rakudo 1ddda5: OUTPUT«NaN␤»
..pugs: OUTPUT«0␤»
moritz three compilers, three answers :-)
14:29 zloyrusskiy joined
Coke TimToady: say +'+NaN' 14:30
there, that should help.
whiteknight I am going to assume that the rakudo version is the correct one? 14:31
NotFound Again the same old problem: Can I add a test that needs utf8 to a pir file without making the entire test file fail if no icu? 14:32
moritz sorry, meant to post that in #perl6 14:33
NotFound Are you going to add negative Nan?
whiteknight negative NaN? madness! 14:34
moritz not more madness than other ideas in #perl6 :-)
NotFound whiteknight: we joked about that some time ago.
Negative 0 is bizarre enough %-) 14:35
moritz it is indeed 14:37
14:40 darbelo_ joined, darbelo left 14:41 darbelo joined, darbelo_ left 14:46 PacoLinux left, darbelo left, darbelo joined 14:47 PacoLinux joined
whiteknight seen bacek? 14:51
aloha bacek was last seen in #parrot 43 days 4 hours ago joining the channel.
whiteknight seen bacek_at_work?
aloha bacek_at_work was last seen in msg 11 days 11 hours ago <private message>.
whiteknight seen allison? 14:52
aloha allison was last seen in #parrot 12 days ago saying "This is pretty cool www.stargit.net/#github (look up github/parrot)".
whiteknight benabik, lucian: ping
lucian whiteknight: pong
whiteknight lucian: have you been in touch with allison at all recently?
lucian yeah, had a chat yesterday. we'll have a longer chat later today 14:53
whiteknight She hasn't filled out her midterm review yet, and we really need her to do that
lucian whiteknight: oh. ok
whiteknight lucian: how is the project going? The commits stream looks like it has slowed down in the past few weeks
lucian whiteknight: yes it has. i've basically run out of money and had to get a job 14:54
allison whiteknight: just submitting it now
whiteknight allison++ Thanks!
allison whiteknight: (having a bit of browser trouble this morning)
whiteknight allison: It's okay, I just want to make sure important things don't get forgotten 14:55
allison whiteknight: thanks for catherding
whiteknight if I could only find bacek, the last missing feline...
NotFound whiteknight: Important things like mouses? ;) 14:57
Coke submitted mine yesterday.
whiteknight Coke++ Yes, thank you. 14:58
15:01 dmalcolm joined 15:05 lucian left
whiteknight Does anybody have any ideas about bacek? I haven't seen him around in a while and he hasn't filled out his mentor review. I don't want to drop to plan B if he's going to come in and do it himself soon 15:06
NotFound Have read the ticket just now: I'm opposed to revert winxed because of a bug elsewhere. 15:07
whiteknight yeah, it's not a winxed bug 15:08
jay NQP: while ($f<=$t) { ... } does not work, it requires spaces: while ($f <= $t) { ... }. Is there a good reason for that? 15:14
whiteknight does it require both spaces, or just the second one? 15:15
jay Just a sec
15:15 contingencyplan joined, woosley left
whiteknight I suspect the =$ symbol might be treated specially, which throws off the parse 15:15
jay Interesting: compiled with a space before and not after. Didn't compile with a space after and not before.
However, I seem to remember having working code before with no spaces. Perhaps the parsing is sensitive to how it is nested in some odd way? 15:16
whiteknight while($f<= $t) works?
jay No. The other one does.
whiteknight Ah, okay
jay Actually, I like spaces, so I don't really care, but... 15:17
whiteknight The <> can be used for a hash key. The parser may be expecting $f< to be the start of a keyed lookup
allison whiteknight/lucian: Pass submitted
whiteknight $f<foo> is the same as $f{"foo"}
allison++
allison (had to restart on a different computer) 15:18
jay Ah. ok. I don't particularly like the former.
whiteknight jay: No, but it is the language syntax. Some people do like the shorthand 15:19
jay If that is a subset of the Perl6 syntax, I'd say leave it in Perl6, don't let it migrate to NQP.
whiteknight :) 15:20
jay Just my 0.5 cents
whiteknight It's already in NQP, and the people writing the parsers make the rules
NotFound And the tokens. 15:21
dalek kudo/nom: ff6f2f9 | pmichaud++ | src/core/Str.pm:
Refactor Str.Numeric a bit for clarity, add "num/den" conversion.
jay Ah -- NotFound: the tokens are really hashes in Grammar.pm?
If so, I would have found Gammar.pm much easier to decipher if they had just used normal hash notation. 15:22
NotFound jay: no idea, I wrote my own parser because I've never be able to understand nqp and its tools. 15:24
jay lol I rest my case.
NotFound "I'll support Integer, Float, and Strong" 15:28
Is good to have Strong support ;)
whiteknight we need more Strongs 15:29
jay off to lecture... back later. 15:30
15:30 darbelo_ joined
PerlJam wonders what people don't understand about NQP 15:32
whiteknight msg benabik: When you get online, we should have a GSOC-related meeting 15:33
aloha OK. I'll deliver the message.
15:33 dodathome joined 15:35 darbelo left 15:44 preflex left
NotFound AFK 15:44
15:46 darbelo_ left 15:47 preflex joined, mj41 left 15:51 bluescreen left
dukeleto ~~ 15:56
bubaflub hello dukeleto 15:57
dukeleto bubaflub: wazzup, grasshopper
bubaflub dukeleto: not much. i figured out how to compile NCI thunks last night; don't need libffi anymore.
15:58 bluescreen joined
dukeleto bubaflub: awesome! 15:59
bubaflub: i have been lovingly stealing lots of ideas from parrot-gmp for parrot-libgit2 16:00
bubaflub dukeleto: yep. took a while, but i got it. i still need to figure out where the shared library should go when i install via plumage and i still need to write up something for jay++
dukeleto: steal away
16:03 jawnsy left
dukeleto seen bacek? 16:03
aloha bacek was last seen in #parrot 43 days 5 hours ago joining the channel.
dukeleto that is too long...
16:04 everbrew joined
dukeleto everbrew: welcome to #parrot 16:06
everbrew thanks!
benabik seen bacek_at_work 16:07
aloha bacek_at_work was last seen in msg 11 days 12 hours ago <private message>.
everbrew w32 parrot stopped compiling sometime between Wed and today
whiteknight stopped compiling? Damnit 16:08
everbrew yeah, cloned a fresh one just to make sure
whiteknight I'm on win64, but I'll try a build here and see what happens
16:09 theory joined
benabik dukeleto: The last few times I talked to bacek, it was while he was _at_work 16:10
whiteknight benabik: When did you see him last, that 11 days ago?
benabik whiteknight: Yes, I think so.
aloha: hello, don't I have a message?
dukeleto everbrew: can you send the errors that you are getting to parrot-dev ? and tell in here, too :)
benabik kicks aloha. 16:11
whiteknight benabik: okay, so let's me and you have a meeting today some time. I'll play backup while he's away
dukeleto everbrew: our smolder server went down for a few months, so we weren't getting regular feedback about windows builds
16:11 rurban_ joined
whiteknight nmake: fatal error U1077: '.\\miniparrot.exe' : return code '0xc0000005' 16:11
dukeleto investigates why our netbsd smoker is stuck on parrot 3.0.0 16:12
everbrew I've been building it every so often
whiteknight everbrew++ 16:13
benabik whiteknight: I have a some time now, but later probably not so good. My anniversary is this weekend so we're heading out for a day.
whiteknight benabik: okay. Want to have a quick meeting now in #ps?
16:14 rurban left, rurban_ is now known as rurban
benabik whiteknight: sure 16:15
everbrew bah, I hate the copy/paste results. Try this:
pastebin.com/B0xhj63t 16:16
16:16 darbelo joined 16:17 ambs joined
dukeleto whichever netbsd developer thought it was a good idea to change the place of basic things like bash to be under /usr/pkg/bin should be tarred and featured 16:18
</complainy>
everbrew featured? feathered?
dukeleto everbrew: yes. feathered.
dukeleto drinks more coffee
benabik coffee++ 16:19
Coke there's a PATH for a reason! ;) 16:21
is done with coffee for the day. Time to move onto CokeZero.
dukeleto Coke: of course /usr/pkg/libexec/git-core/ should be in my PATH! Stupid me for thinking binaries should be in dirs containing /bin 16:22
everbrew $PATH is a twisted mess of directory structures, all alike. 16:23
dukeleto everbrew: what does ./include/parrot/parrot.h:36 look like ? 16:24
benabik dukeleto: That looks like it should be the execdir for git... the core git program should be in a /bin and have .../libexec/git-core stored in the binary.
dukeleto: git looks for sub-programs in `git --exec-path` and then PATH
Coke dukeleto: ;)
benabik (Or maybe it was PATH, then exec-path. I forget.) 16:25
everbrew #includ "parrot/config.h"
#include "parrot/config.h"
dukeleto benabik: this all worked before, and something changed on the netbsd machine, and then git-sh-setup couldn't be found, so the smoker has been smoking the same commit for the last 6 months 16:26
everbrew: it looks like maybe parrot/config.h has a bug in it.
everbrew: it has nested #if stuff that maybe your windows compiler can't deal with
everbrew GNU Make 3.81 16:27
gcc 4.4.3
dukeleto everbrew: looks like it is borking on ./include/parrot/config.h:134 which is: #if 1 16:30
everbrew #if 16:31
# define LONGLONG_SIZE 0
#endif
dukeleto everbrew: ah! it is #if 1 on my machine
dalek rrot: 1d4f49f | dukeleto++ | NEWS:
Add a note to the readme about the new Winxed snapshot
dukeleto everbrew: that is a generated header file 16:32
everbrew: the thing that generates it has a bug
everbrew wonderful!
dukeleto everbrew: i see the bug now
everbrew: you don't have the LONG_LONG datatype
everbrew: config/gen/config_h/config_h.in 16:33
everbrew: that is the template file
everbrew: HAS_LONG_LONG is "", instead of being 0, which causes a syntax error 16:34
everbrew: looks like the bug was introduced in ec159d26bf038ac53312349c96cb4c41f4f73b60 by plobsing
ok, the netbsd smoker is back and just gave a PASS for master 16:37
Coke having conversations in parrotsketch to avoid making noise in parrot actually makes it harder for me to ignore the conversation, btw. 16:38
(for whiteknight and benabik) YMMV. 16:39
whiteknight YMMV?
it's not intended to be a private conversation
benabik dukeleto: I think git moved git-sh-setup from PATH to exec-path at some point, but I can't see where. That's probably what broke it. Adding `git --exec-dir` to the PATH of the affected script is the easiest fix. 16:41
Coke no, but your goal of "keeping it out of the way" is having the reverse effect, at least for some. Just FYI.
aloha, YMMV is Your mileage may vary.
aloha Coke: Okay.
cotto ~~ 16:43
whiteknight Coke: Okay. next time we can pick a different venue.
16:48 dodathome left
Coke nbd. here works. ;) 16:52
16:56 dodathome joined 17:09 daniel-s left 17:18 hercynium joined 17:20 lucian joined
cotto_work ~~ 17:35
whiteknight hello cotto_work 17:41
18:00 Coke left, Coke joined
cotto_work jay: I'm not familiar with the "Strong" type mentioned in your blog post. ;) 18:06
18:06 ambs left
cotto_work jay++ 18:08
18:21 soh_cah_toa joined, benabik left, zloyrusskiy left
soh_cah_toa ~~ 18:23
whiteknight msg NotFound your last commit/fix to sprintf didn't fix Rosella. Still segfaulting 18:31
aloha OK. I'll deliver the message.
cotto_work hi soh_cah_toa 18:33
soh_cah_toa cotto_work: hey
tadzik hello parrots 18:35
whiteknight hello tadziks
18:36 darbelo left
tadzik how are you doing whiteknight? 18:36
18:37 darbelo joined
whiteknight I'm doing well tadzik. yourself? How is your project going? 18:38
bubaflub whiteknight: i was having that same problem with Rosella/Winxed/Parrot last night (Segfaulting on sprintf) - i had to completely remove everything, make realclean and git clean on parrot, and start over. 18:40
tadzik Fine :) I had a pretty crazy week, but I'm up-to-date with everything. And stuff gets more and more exciting :)
18:40 zloyrusskiy joined
whiteknight bubaflub: I've been doing that on my vm here, no love. Same problem 18:40
bubaflub whiteknight: ok, must be a different problem then. 18:41
whiteknight I made realclean on parrot, I didn't git clean it
I can try that, but I'm incredulous that this is the problem
18:47 lichtkind joined
whiteknight normally we like to see Parrot getting more stable as a release approaches, but it feels like we are moving in the opposite direction 18:54
these sprintf segfaults are extremely worrisome
and the win32 build failures are obnoxious 18:55
Coke fires up a parrot build.
ah, yes, meant to get that working on my work win32top to see if I could build with the msvc toolchain.
cotto_work The auto::gcc step explodes when I configure for an msvc build. 18:59
Coke it should just skip. 19:00
(and used to.)
all this is working for jnthn++, at some level, anyway.
cotto_work nopaste.snit.ch/61314 19:03
irritating, but not a release blocker
Coke do you really need to specify all those options? 19:08
(and it looks like a showstopper...) 19:09
all tests pass on master for me on darwin/x86
Coke tries a smoke run with TEST_JOBS=30 19:10
everbrew FBSD/Linux => pass; W32 => fail
whiteknight I build on windows with msvc. I don't use strawberry
Coke activestate? 19:11
I know strawberry tends to prefer using its own toolchain, which is fine.
whiteknight yeah, I have activestate
because the parrot build pulls defaults from the perl build, you still have to use a compiler/perl combo that's compatible 19:12
so activestate+msvc, or strawberry+mingw
it's been that way for years. Attempting to mix is BAD NEWS
Coke ARRRRGVH
when doing make smoke, you get an immediate error about tap/archive/harness. 19:13
whiteknight it's like @ARGV, but more pirate
Coke however, you get a too late to do anything about it error about lwp/useragent.
whiteknight heh.
Coke someone should fix that. 19:14
whiteknight I feel like we are going to need an all-hands-on-deck fix-the-bugs hackathon this weekend
sprintf segfaults, win32 build AND test failures, etc. 19:16
cotto_work Coke: it's largely cargo-culted from the instructions on the wiki 19:19
Tene orly?
cotto_work The build completes just fine, though I have a few failures. 19:20
dalek kudo/nom: 6c8b8d1 | moritz++ | src/core/ (2 files):
port Str.split(Str) from master
19:22
Tene whiteknight: I haven't been paying any attention at all to parrot for a while; what's the "etc."? 19:23
whiteknight Tene: Lots of little errors are cropping up in the past day or so 19:24
and a few issues throughout the week
Tene ack 19:25
whiteknight (gsoc students)++ Everybody passed their midterm evaluations 19:26
tadzik yay!
I passed too
whiteknight tadzik++
tadzik (gsoc students)++
bubaflub huzzah! 19:27
Coke cotto_work: if there are specific windows build instructions, should probably go in README.win or something. 19:31
README_win32.pod, that is. 19:32
19:32 zloyrusskiy left
Coke whiteknight: did all students fill out their own evals? 19:32
whiteknight yes. I believe, with maybe one exception, all the student evals were in before any of the mentor evals
the profit motive, hard at work 19:33
cotto_work Coke: good idea 19:34
Has anyone built Parrot with Borland's compiler? 19:38
everbrew sounds dangerous 19:39
Coke ah, I remember my blocker - I couldn't build perl6 on windows because I needed a shell that had both the msvc tools AND the git tools. I'll split this up and build parrot by hand separately. 19:42
cotto_work Looks like it's a free (beer) download.
whiteknight free beer? Where?
and how do you download beer?
cotto_work aloha bcc is forms.embarcadero.com/forms/BCC32Co...erDownload
aloha cotto_work: Okay.
everbrew it'll cost you a form to fill out
tadzik whiteknight: I'm so waiting for that to be possible. Imagine the new possibilities of piracy :) 19:43
cotto_work Best. Piracy. Evar.
tadzik . o O ( You wouldn't download a car )
whiteknight you remember those commercials "You wouldn't download a car, would you?"
I'm thinking to myself "shit yes I would"
Tene +1
tadzik open source cars. Take that! 19:44
Tene reprap.org/
;)
tadzik just don't by the bumblebee ones
everbrew You didn't get the "fat pipe" option on your ISP to watch movies, it's so it could get more beer.
cotto_work whiteknight: www.youtube.com/watch?v=OWPfcEOr2Yg 19:45
tadzik heh, a tap on usb
Coke 3d car printers.
cotto++ # with that config line, I can config parrot on win32 19:50
building... 19:51
(wow is that slow.) 19:52
huge number of build warnings.
19:53 mtk left
nopaste "coke" at 192.168.1.3 pasted "windows 7 / MSVC express, strawberry perl test failures." (13 lines) at nopaste.snit.ch/61318 19:57
Coke only 6 test failures, though. 19:58
at least one of those failures is a line ending issue. 19:59
cotto_work Coke: exact same thing here
Coke I will submit a smoke report when I'm on a network that doesn't need an http proxy. 20:01
20:02 mtk joined
whiteknight oh great, another smoke report with failures in it 20:03
20:08 ambs joined 20:10 whiteknight left
cotto_work probably mine 20:13
Coke I have a bug on win7, building nqp. 20:18
nopaste "coke" at 192.168.1.3 pasted "can't run ops2c.exe on win7" (18 lines) at nopaste.snit.ch/61319 20:19
Coke looks like it's confused about what the path is supposed to be.
unrelated: how to ask parrot for maxint, minint? 20:21
20:22 rohit_nsit08 joined
bubaflub Coke: parrot_config intvalmax 20:22
or parrot_config intvalmin
Coke ok. and partcl-old has an example of getting at that information from PIR: 20:25
github.com/partcl/partcl/blob/mast...b.pir#L132
not that information exactly, but stuff in the config hash.
Coke waves at rohit. 20:26
so, back to my problem. Can't build nqp on win7.
I suppose I should give up and use C:/bird instead. 20:28
(of C:\\) 20:29
(yup, that's better.) 20:40
20:44 plobsing left
Coke cotto_work: important note: be sure to add your install directory bin and lib dirs to your PATH 20:45
20:45 NotFound left
dalek p: 4e4a66e | moritz++ | src/HLL/Actions.pm:
replace guts of string_to_int with a short call to nqp::radix
20:47
20:50 dodathome left, alester left 21:06 fperrad left 21:07 zby_home joined 21:15 bluescreen left 21:20 zby_home left
cotto_work Coke: I wasn't testing an installed Parrot. 21:24
21:30 ambs left 21:31 everbrew left 21:37 darbelo left 21:39 lucian left 21:43 Psyche^ joined 21:48 Patterner left, Psyche^ is now known as Patterner 21:51 hercynium left 22:04 contingencyplan left
jay cotto_work++ Good catch on my imaginary type. 22:20
cotto_work jay++ # nice work on having something for which to make an imaginary type 22:22
jay Nice to have something that compiles and does what I ask it to, more or less! 22:23
22:38 rohit_nsit08 left 22:43 kid51 joined, lichtkind left 23:26 dmalcolm left
jay I have a question about the following token from squaak's grammar, if someone knows: 23:36
token infix:sym<+> { <sym> <O('%additive, :pirop<add>')> }
I'd like to write my own operator that does vector (array) addition. Similar to what Whiteknight did in matrixy. 23:37
But he had an old grammar format and it isn't clear to me how the function 'dispatch' (probably abusing that word) is working.
So I *think* I'd like to write my own PIR function to replace :pirop<add>? 23:38
Coke you wouldn't use pirop. 23:39
pirop == use a pir opcode.
jay Right... I'm happy calling it jayadd or whatever. Can I just stick it in Runtime.pm and write it in NQP? 23:40
Coke trying to find you an example. 23:41
ok. Partcl does this. Your sub needs to be called 'infix:<+>' - mine are in src/Partcl/Operators.pm, but that's just a convention. 23:43
23:44 zloyrusskiy joined
jay So If I just write a sub with this name, it will be used instead of the default pirop? Does that grammar line change? 23:44
Coke github.com/partcl/partcl-nqp/blob/...ar.pm#L177
jay I'll look, thx 23:45
Coke vs. github.com/partcl/partcl-nqp/blob/...ors.pm#L22
so, yes, remove the , :pirop<add>
jay Excellent, Coke++, that seems to be the perfect example to follow. Many thanks! 23:46
Coke glad to help. 23:47
jay With some luck... I'll blog about it tomorrow. !_)
Coke: what is the & before the function name in your example? 23:50
soh_cah_toa yeah, i always wanted to know that too: sub &infix:<foo> vs. sub infix:<foo> 23:55
jay I'm happy to try both, but I'm curious.