Camelia, the Perl 6 bug

IRC log for #parrot, 2011-01-28

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:23 particle left #parrot
00:26 particle joined #parrot
00:28 vmspb left #parrot
00:32 contingencyplan left #parrot
00:34 contingencyplan joined #parrot
00:41 dalek nqp-rx/nom: 94b693e | jonathan++ | src/ (4 files):
00:41 dalek nqp-rx/nom: Give native attrs a firey baptism by switching $!pos and $!from attributes in Cursor to be native int attributes. This saves a bunch of boxing/unboxing and as a result should reduce GC churn and also be a memory improvement for big parses (since Match objects reference Cursor objects). Note that Match objects still need to store these boxed for now, but that'll be fixed in the future and be a further memory usage and GC churn reduction.
00:41 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/94b693e319
00:45 kid51 jonathan: ping
00:46 estrabd left #parrot
00:46 estrabd joined #parrot
00:49 jnthn kid51: pong
00:50 kid51 jnthn: We're having Parrot Developer Summit this weekend -- late Saturday in your part of the world, I think
00:50 kid51 If there's anything the Rakudo folks would like to have as goals for Parrot in next 12 months, please post to parrot-dev before then.
00:50 kid51 (I think I sent email about this.)
00:52 jnthn kid51: Yes, I've noted when it is. I should be able to make it at least for the start of it.
00:52 jnthn Though I gotta get up on Sunday morning and travel to Stockholm.
00:53 kid51 Are you currently in Sweden?
00:54 jnthn kid51: Yes, I live in Lund, which is in south west Sweden.
00:55 kid51 I look forward to your participation.
00:56 kid51 I saw your speaking schedule posted somewhere.  I hope some Parrot developers in Europe manage to attend some of your presentations this year.
00:56 jnthn :)
00:57 whiteknight joined #parrot
01:20 kurahaupo joined #parrot
01:22 whiteknight good evening, #parrot
01:23 kid51 good evening, whiteknight
01:41 dmalcolm left #parrot
02:01 chromatic left #parrot
02:06 Kulag left #parrot
02:09 Kulag joined #parrot
02:13 dukeleto This interview talks a bunch about Parrot and PL/Parrot http://fosdem.org/2011/interview/david-fetter-2011
02:24 cotto I know that guy.
02:25 JimmyZ joined #parrot
02:26 kid51 left #parrot
02:29 TiMBuS left #parrot
02:30 TiMBuS joined #parrot
02:33 dukeleto cotto: yeah, so do I :)
02:35 TiMBuS left #parrot
02:35 plobsing ping whiteknight
02:35 whiteknight pong
02:36 TiMBuS joined #parrot
02:36 plobsing I've been thinking more about exceptions. How does adding arbitrary parameters to exceptionhandler invokation allow for finally blocks?
02:37 plobsing there could be a frame between the thrower and the catcher with a finally block. how does the thrower know about this?
02:38 whiteknight in a simple case, we pass a continuation to the handler of a routine to execute as the finally() block
02:38 whiteknight there are probably more generalized mechanisms for this
02:39 whiteknight My idea of having arbitrary parameters to exception handlers centers around the symmetry of doing the same thing as other continuations do
02:39 plobsing so finally blocks have to be passed downwards through calls? why not do the same thing with catch blocks?
02:53 nopaste "plobsing" at 192.168.1.3 pasted "finally example" (19 lines) at http://nopaste.snit.ch/29256
02:54 plobsing whiteknight: in the example nopasted above, how does either main() or b() know about the finally in a()??
03:00 whiteknight I really don't have finally blocks figured out in my head yet
03:01 whiteknight it's much harder to do since ExceptionHandlers are just labels and don't have finite end points
03:01 whiteknight so we don't know when catch{} ends and when finally{} begins
03:02 whiteknight the only way to really do it would be to attach a post-handler to an ExceptionHandler, and invoke it when we use the finalize_p opcode
03:02 plobsing seems like an appropriate time given the op name
03:03 whiteknight A real solution in my mind is to make all handlers Sub-based instead of being raw labels, and then we can just chain Sub invocations together
03:03 whiteknight set them up as tasks in the scheduler or something, and trigger them sequentially
03:03 whiteknight because then we could stack as many as we wanted, in order, across multple scopes and throws
03:04 plobsing can't we do that now?
03:04 whiteknight no, because ExceptionHandlers are labels (Continuations), and there is no "end" point to them
03:05 whiteknight anyway, I have to get to bed. We can chat tomorrow about it
03:06 plobsing ok
03:06 whiteknight goodnight
03:06 whiteknight left #parrot
03:07 TiMBuS left #parrot
03:09 theory left #parrot
03:10 TiMBuS joined #parrot
03:20 JimmyZ left #parrot
03:20 TiMBuS left #parrot
03:31 TiMBuS joined #parrot
03:40 KaeseEs bacek_at_work: i'm kind of excited by this one http://domino.research.ibm.com/comm/rese​arch_people.nsf/pages/bacon.refereed-pub​s.html/$FILE/Frampton07Generational.pdf
03:46 kurahaupo left #parrot
03:46 theory joined #parrot
04:34 stilgar joined #parrot
04:41 kurahaupo joined #parrot
04:42 janus` left #parrot
04:42 janus joined #parrot
05:15 kurahaupo left #parrot
05:35 JimmyZ joined #parrot
05:36 JimmyZ left #parrot
05:54 rurban_ joined #parrot
05:56 rurban left #parrot
05:56 rurban_ is now known as rurban
05:59 wagle left #parrot
06:00 wagle joined #parrot
06:32 Puddles left #parrot
06:50 theory left #parrot
07:14 fperrad joined #parrot
07:22 theory joined #parrot
07:50 theory left #parrot
08:14 he__ joined #parrot
08:42 baest_ is now known as baest
08:42 JimmyZ joined #parrot
08:57 dukeleto ~~
09:01 dukeleto anybody awake?
09:03 JimmyZ me
09:03 moritz nobody
09:10 Tene I am.
09:30 particle1 joined #parrot
09:32 particle left #parrot
09:33 kid51 joined #parrot
09:35 tadzik ~~
09:39 * dukeleto is roughly 1% awake
09:45 kid51 Which way are you headed?  To wakefulness or to sleep?
09:45 * kid51 couldn't get back to sleep
09:55 JimmyZ left #parrot
10:04 kid51 left #parrot
10:17 particle1 left #parrot
10:18 particle joined #parrot
11:10 JimmyZ joined #parrot
11:15 particle1 joined #parrot
11:18 particle left #parrot
12:21 mtk joined #parrot
12:23 sjn left #parrot
12:23 he_ left #parrot
12:23 he__ left #parrot
12:28 he_ joined #parrot
12:28 he__ joined #parrot
12:49 bluescreen joined #parrot
13:08 whiteknight joined #parrot
13:11 whiteknight good morning, #parrot
13:13 JimmyZ good morning whiteknight
13:13 whiteknight hello JimmyZ
13:14 JimmyZ hello whiteknight :)
13:14 whiteknight JimmyZ: You live in China?
13:14 JimmyZ Yes, I'm Chinese
13:15 whiteknight what time is it there? Late evening?
13:15 JimmyZ 21:15 here
13:15 whiteknight okay
13:18 atrodo morning
13:19 whiteknight good morning, atrodo
13:26 mtk left #parrot
13:36 Coke *yawn*
13:36 JimmyZ_ joined #parrot
13:38 mtk joined #parrot
13:39 JimmyZ left #parrot
13:39 JimmyZ_ is now known as JimmyZ
13:54 rurban_ joined #parrot
13:56 ambs joined #parrot
13:56 rurban left #parrot
13:56 rurban_ is now known as rurban
14:32 davidfetter joined #parrot
15:25 Patterner left #parrot
15:29 Psyche^ joined #parrot
15:29 Psyche^ is now known as Patterner
16:03 JimmyZ left #parrot
16:11 cotto_work ~~
16:20 whiteknight hello cotto_work
16:26 Hackbinary joined #parrot
16:26 Hackbinary hello
16:27 Hackbinary I think I have  a dumb question, but is there a C front end for parrot?
16:27 Hackbinary I saw that there was something for c99 on github
16:27 moritz I think that's only a parser
16:28 moritz not a full compiler
16:28 particle1 parrot is designed for dynamic languages. the c99 parser is for reading header files, mostly
16:28 particle1 is now known as particle
16:28 particle the c99 parser is designed to help us link to c libs
16:29 vmspb joined #parrot
16:29 Hackbinary I was thinking that if there was a c front end, then would that not help port existing implementations to the parrot VM?
16:31 sorear You'd lose all the interop advantages like that
16:31 sorear opbots, names
16:31 particle cheers sorear
16:31 moritz Hackbinary: you can already call C functions from parrot
16:31 moritz Hackbinary: or embed parrot into C applications
16:32 Hackbinary ah
16:32 particle it would be possible, if there were a mostly complete c compiler on parrot, but it wouldn't be the ideal porting path.  and maybe not even a good porting path.
16:33 Hackbinary okay ... I'm kind of naive about vm stuff still
16:33 particle instead, rewriting the high-level language parser in nqp gets you much of the way to a new compiler
16:34 particle you should have a look at nqp, and perl 6 grammars
16:34 particle links, anyone?
16:34 particle nqp?
16:35 moritz ttps://github.com/perl6/nqp-rx
16:37 Hackbinary cool, thanks
16:37 moritz and Perl 6 grammars (which is what nqp implements) are describe in http://github.com/perl6/book/downloads
16:38 particle moritz++
16:43 Hackbinary thanks, that's awesome!
16:43 Hackbinary :)
16:46 ambs_ joined #parrot
16:46 ambs left #parrot
16:46 ambs_ is now known as ambs
16:48 dip left #parrot
16:48 he__ left #parrot
16:51 dalek nqp-rx/nom: 94c8f60 | moritz++ | build/Makefile.in:
16:51 dalek nqp-rx/nom: install dynops and dynpmcs
16:51 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/94c8f60232
17:06 ambs left #parrot
17:16 zby_home joined #parrot
17:25 bluescreen left #parrot
17:30 rurban left #parrot
17:30 mtk left #parrot
17:30 whiteknight left #parrot
17:30 plobsing left #parrot
17:30 bacek left #parrot
17:30 snarkyboojum left #parrot
17:30 perlite left #parrot
17:30 cotto left #parrot
17:30 szabgab left #parrot
17:30 jjore left #parrot
17:30 sorear left #parrot
17:33 rurban joined #parrot
17:33 mtk joined #parrot
17:33 whiteknight joined #parrot
17:33 plobsing joined #parrot
17:33 bacek joined #parrot
17:33 snarkyboojum joined #parrot
17:33 perlite joined #parrot
17:33 cotto joined #parrot
17:33 szabgab joined #parrot
17:33 jjore joined #parrot
17:33 sorear joined #parrot
17:37 theory joined #parrot
17:40 bluescreen joined #parrot
17:57 stilgar left #parrot
18:17 moritz in PIR, how to I check if a variable contains an RPA?
18:18 whiteknight $S0 = typeof $P0
18:18 whiteknight if $S0 == "ResizablePMCArray"
18:19 moritz ok, thanks
18:19 whiteknight no problem
18:20 plobsing hmmm... I thought there was a better way.
18:22 plobsing there's also '$I0 = isa $P0, "ResizablePMCArray"'
18:22 whiteknight oh, right
18:28 plobsing left #parrot
18:39 bluescreen left #parrot
18:43 Coke depends on what you're checking. those aren't equivalent.
18:43 jnthn ALL FAILS
18:44 jnthn Should really get the PMC type object (PMCProxy) and then use the PMC form of isa.
18:44 jnthn 6model doesn't (and will never have) a string form of isa.
18:45 jnthn Identifying classes with strings is one of Parrot OO's biggest mistakes.
18:45 * jnthn realizes that he is going to spend the next few weeks eliminating dozens of such things from Rakudo...
18:46 jnthn Anyway, if Parrot's going to adopt 6model at any point, isa_str and friends probably want to get deprecated.
18:47 jnthn (Any language that really really wants string isa can of course implement it trivially in terms of the meta-object, or provide a meta-object method that does the check...)
18:48 whiteknight jnthn: Deprecate some vtables and ops you say? It's like music to my ears
18:48 jnthn whiteknight: :)
18:48 jnthn whiteknight: Yes, but use of string isa is endemic at the moment. :)
18:48 jnthn Because it's...well...convenient if you're the person writing the PIR.
18:48 whiteknight it is a convenient shorthand, especially if you rely on a hobbled object model
18:49 whiteknight we don't want nice things, because we're so used to having bad things
18:49 jnthn *nod*
18:49 jnthn Well, it's only two instructions to do it right. Not to mention that then the isa check becomes a few pointer comparisons. :)
18:50 cotto_work <3
18:50 bluescreen joined #parrot
18:52 whiteknight who wants to create the ticket?
18:54 whiteknight while we're at it, new_p_s should be deprecated too
18:54 whiteknight we can't look up a class with a bare string
18:54 jnthn Keep going like this and you'll be able to kill the class registry at last. :)
19:01 whiteknight you sweet-talker, you
19:03 plobsing joined #parrot
19:04 * Coke wishes this had come up back when new_p_i was killed.
19:10 whiteknight it had come up before. There was a big push at one point to use keyed lookup with new_p_p instead of string lookup with new_p_s
19:10 whiteknight but I don't think that actually lead to a deprecation
19:12 jnthn Coke: That was a worthwhile, but easier kill.
19:15 davidfetter left #parrot
19:15 dukeleto ~~
19:31 Eclesia joined #parrot
19:31 Eclesia hi
19:39 sorear Hello.
19:47 dukeleto Eclesia: howdy!
19:47 dukeleto what are people up to today?
19:47 Eclesia which people ?
19:47 whiteknight any people
19:47 whiteknight what are you doing today, Eclesia?
19:47 dukeleto Eclesia: people in here :)
19:48 * Eclesia writing a last mail for netbeans platform mailing list, saying 'java is not what it was and stopping personal time investment in it' before unsubscribing
19:50 Eclesia a five years story ending ^^
19:51 dukeleto Eclesia: wow. Hopefully you find what you are looking for in Parrot :)
19:53 Eclesia I don't think so, but I can't continue a non open-source path. (yet at continue at work) but not on my personnal time
19:53 Eclesia it*
19:54 dukeleto Eclesia: we all understand that sentiment here :)
19:56 * Eclesia hope he will be able to do the same thing in parrot one day : http://puzzle-gis.codehaus.org/cases.html
19:56 ambs joined #parrot
19:57 dukeleto Eclesia: what are you interested in hacking on?
19:59 Eclesia I'm not a good low level developer, I have a double qualification in development and geograhic information systems. I learned mainly Java and visual basic. learned a bit everything else, but far from mastering C or ASM. My objective would be to run GeotoolKit on Parrot VM.
20:00 dukeleto Eclesia: we need lots of people to help with Parrot, and we don't need ASM or low-level people. What does GeotoolKit do?
20:01 * dukeleto meant to say "we don't need *only* low-level people :)
20:01 dukeleto we need people to build stuff on top of Parrot
20:02 Eclesia GeotoolKit is a java library for cartography, mapping, image analysis ... well a bit everything for GIS :D
20:03 sorear Eclesia: what list?  where can I read about the death of open-source java?
20:05 Eclesia http://blogs.forrester.com/john_r_​rymer/11-01-23-the_future_of_java   for example
20:05 atrodo I admint, i like hearing stories about java frustrations too
20:07 Eclesia Plenty of stories going on, OpenOffice clash => LibreOffice . death of OpenSolaris.  Mail threat on hudson list. apache Fondation leavin the JCP ...
20:08 Eclesia the java ecosystem is really having a hard time
20:08 Eclesia and the lawsuit and Google dalvik JVM on android, I forget about this one
20:08 Eclesia on*
20:09 Eclesia there's no way to be motivated with all this mess ...
20:09 atrodo I admit, it's difficult to trust oracle
20:10 Eclesia I always believed open-source wasa bottom-up process. if the lowest part can't be free (the jvm) everything else on it is useless
20:14 sorear Eclesia: all commonly used CPUs are so closed, they have trade secrets in them
20:15 dukeleto Eclesia: which GIS file formats are the most important?
20:15 Eclesia shapefile (vector), geotiff (image), postgis (database)
20:15 Eclesia most used at least
20:16 PerlJam shapefiles are still so 1980s though
20:16 Eclesia agree but no need for a replacement so far. simple and handle by every tool
20:16 PerlJam (that's how I describe anything so tightly coupled with the database file format popularized by dBase)
20:17 PerlJam yes, simplicity seems to win here.
20:17 PerlJam or maybe not enough people have been pushing GIS to its limits until recently.
20:17 Eclesia GML could be a replacement, but it's too verbose in xml and not efficient.
20:18 Eclesia OpenStreetMap team are starting a binary format, but it doesn't care about referencing, so I think it's only a half usefull effort
20:19 whiteknight "too verbose in xml" <- Doesn't that describe all XML?
20:19 PerlJam whiteknight++
20:19 Eclesia whiteknight++
20:21 dalek nqp-rx/nom: 4ba2dc2 | jonathan++ | src/Regex/Cursor-builtins.pir:
20:21 dalek nqp-rx/nom: Fix incorrect attr access spotted by moritz++.
20:21 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/4ba2dc26e1
20:26 perlite_ joined #parrot
20:28 dukeleto Eclesia: it would be interesting if we can some kind of shapefile parser in Parrot, but i am not sure what it would do exactly
20:29 bluescreen left #parrot
20:30 perlite left #parrot
20:30 perlite_ is now known as perlite
20:30 Eclesia shapefile is not the big deal, the big part of GIS is the referencing module. being able to make reprojections, handle N dimensional datas ... so far only geotoolkit handle ND correctly.
20:31 Eclesia geometries, storing. is usual management stuff.
20:31 Eclesia the mathematics is the hard part
20:45 bluescreen joined #parrot
20:51 whiteknight parsing shapefiles into Shape objects (and be able to serialize back to files) would be a great first start
20:51 whiteknight implementing the various mathematics routines is definitely the harder part
20:52 dukeleto i like math.
20:52 whiteknight unfortunately, I think a lot of that translation would not be able to be automated
20:52 whiteknight I like math too. Doesn't mean it's easy
20:52 dukeleto whiteknight: that is what makes it fun :)
20:52 * dukeleto doesn't really have a reason to hack on GIS stuff, though
20:53 Eclesia you are both talking about porting it on parrot. but in wish language ? not pir I hope ?
20:53 Eclesia which*
20:53 dukeleto Eclesia: good question
20:55 * Eclesia won't port a half million code lines librairy in pir, never :p
20:56 * Eclesia has only one life left ^^
20:57 dukeleto Eclesia: i would write it in Perl 6, but that is me. You can generate PIR from Perl 6, so there really isn't a speed difference after you generate bytecode
20:57 whiteknight Unfortunately, with that many lines of code, your options are kind of limited. It's going to be difficult to move all of that to any other platform unless it's the same language
20:58 whiteknight but with Java, it's not just the language. The language would be easy enough to parse and write a compiler for. It's the huge java libaries that would take forever to replicate
20:58 ambs left #parrot
20:59 whiteknight even if we had a Java-on-Parrot compiler, the software wouldn't work until you replaced all the libraries
20:59 whiteknight some of those libraries are themselves written in Java, so you could translate them automatically. Some are not
20:59 Eclesia I searched a bit already, it seems the "classpath" projet provide already plenty to the java classes of the libraries
21:02 plobsing classpath provides a decent way of providing the required native primitives. unfortunately, IIUC, it is a bit all-or-nothing.
21:03 whiteknight Eclesia: What I don't want is for you to get a false sense of hope, and waste a lot of time trying to port your library over to a new language or new platform.
21:03 whiteknight The Java language is tied pretty closely to the Java VM.
21:04 plobsing whiteknight: really? at first blush, its object model looks more easily supportable on current parrot than say javascript.
21:05 plobsing is the devil in the details?
21:05 Eclesia whiteknight: I am not so optimistic don't worry. I still work on Java/JVM at work. parrot is for my free time. If I manage to make stuffs work or automaticly ported to parrot, them that's good. If not, well no harm is done
21:06 whiteknight plobsing: maybe. I would be very interested to see a translator for Java->Parrot
21:06 whiteknight and if source code exists for the Java core libraries that is amenable to translation, that's a great start
21:08 whiteknight If Parrot and JavaVM had the same kinds of goals, strengths, and capabilities, we would be working on JVM instead of Parrot
21:08 Eclesia another approach is to consider the apache harmony futur. since this jvm will never be reconized as a jvm they have lost plenty of developers. (that's just an idea) but bringing closer both Parrot and Harmony could be a opportunity wish won't happen again.
21:08 plobsing whiteknight: I was more thinking of java on parrot.
21:09 whiteknight plobsing: right, that's what I have in mind too. I'm just keeping in mind that Java is a very static language, and Parrot is a very dynamic VM
21:09 plobsing I tried reviving perk, but gave up when I realized I'd have to rewrite the grammar.
21:09 whiteknight Eclesia: I don't know a lot about Harmony. Probably needs some research
21:10 whiteknight plobsing: GSoC is coming up. Big projects like that are good to keep in mind
21:10 sorear dukeleto: there is a considerable post-translation speed penalty associated with Rakudo
21:10 whiteknight If no movement happens on it between now and then, I'm thinking of suggesting my JavaScript-in-JavaScript compiler idea as a GSoC project
21:10 whiteknight sorear: what do you mean?
21:11 sorear dukeleto: Parrot has a lot of features (like I, N, and S registers) that a naive Perl 6 compiler cannot exploit.  Additionally, the Perl 6 calling convention is partially emulated above the PCC level
21:11 sorear a direct coding in PIR can use Parrot resources far more effectively
21:12 nwellnhof joined #parrot
21:12 whiteknight sorear: You probably know better than I do. Are those limitations you mention some kind of fundamental restriction, or has Rakudo simply not taken the time to use them yet?
21:12 nwellnhof ~
21:13 sorear whiteknight: Many of them seem to be fundamental.  However, if you had asked me six months ago, I would say they were almost all fundamental, so I have learned hope
21:13 bluescreen left #parrot
21:14 dukeleto whiteknight: have you seen Jaspers?
21:14 whiteknight sorear: are there things Parrot could do to make some of those features more accessible?
21:14 dukeleto whiteknight: http://github.com/leto/jaspers
21:14 whiteknight sorear: I know allowing objects to store non-pmc attributes, or to allow lexicals to work on other register types is necessary
21:14 whiteknight dukeleto: briefly
21:15 dukeleto whiteknight: it is based on your ideas, but i did some research and decide to use some different libraries
21:16 whiteknight dukeleto: Okay. Cool. I hadn't looked too closely at PEG.js
21:16 whiteknight I liked cafe because it was a ready-made JS parser with a JS grammar
21:16 plobsing left #parrot
21:16 whiteknight dukeleto: I would love to hear more about Jaspers
21:18 dukeleto whiteknight: PEG.js has the same thing
21:18 dukeleto whiteknight: but seems to be still maintained
21:18 whiteknight oh, okay. That's awesome then.
21:18 whiteknight finding ready-made parsers is a huge win
21:19 dukeleto whiteknight: indeed! i haven't had much time to hack on jaspers, mostly been doing research
21:19 pjcj left #parrot
21:20 whiteknight as an example, I know there are existing Java grammars written for Antlr and maybe one other parser generator too (I can't remember the name)
21:20 whiteknight so if we write a Java backend to emit PIR for one of these parsers, BAM we have Java on Parrot
21:20 whiteknight including Antlr on Parrot, magically
21:22 Hackbinary hello
21:22 Hackbinary I'm trying to build cardinal
21:22 whiteknight hello Hackbinary
21:22 whiteknight Hackbinary: good luck with that!
21:22 Hackbinary oh dear
21:22 Hackbinary that doesn't sound promising
21:23 whiteknight cardinal is not a particularly active project right now.
21:23 whiteknight I don't know it's current status
21:23 Tene whiteknight: last I heard, it builds, but fails all tests
21:23 whiteknight Tene: oh. That's a step in the right direction
21:25 Hackbinary hmm ... I can't get it build, but it's a problem in the rake file, and nobody is home on #cardinal
21:25 Hackbinary :(
21:25 * whiteknight is packing up and heading home. Goodnight
21:25 whiteknight left #parrot
21:36 Andy joined #parrot
21:37 zby_home left #parrot
21:47 pjcj joined #parrot
21:53 rurban_ joined #parrot
21:56 rurban left #parrot
21:56 rurban_ is now known as rurban
22:03 fperrad left #parrot
22:05 dalek parrot: 10c0585 | nwellnhof++ | / (2 files):
22:05 dalek parrot: Fix getaddrinfo emulation with NULL addresses
22:05 dalek parrot: review: https://github.com/parrot/parrot/commit/10c05850b7
22:08 dukeleto Hackbinary: welcome to #parrot
22:08 dukeleto Hackbinary: we are trying to revive Cardinal
22:08 tadzik oh, nice
22:09 tadzik what's going on with it?
22:09 dukeleto Hackbinary: if you hit a bug, can you create a Github issue at https://github.com/parrot/cardinal
22:09 dukeleto tadzik: we want it to work again :)
22:09 tadzik dukeleto: it doesn't?
22:09 tadzik Well, it fails tests, yes
22:14 dukeleto tadzik: it compiles.
22:20 Hackbinary I suspect that my build environment is quite setup properly
22:21 Hunger- left #parrot
22:21 sorear What use is a rake file if you don't have an installed Ruby?
22:24 Hackbinary ruby and ruby on rails work fine on my computer, I think the problem has to do with some of the requiremens
22:24 Hackbinary *requirements
22:24 Hackbinary or parrot finding the requirements
22:25 Hackbinary something around line 254
22:25 Hackbinary return false unless File.exist?($config[:parrot])
22:25 Hackbinary return false unless File.exist?($config[:perl6grammar])
22:25 Hackbinary return false unless File.exist?($config[:nqp])
22:25 Hackbinary return false unless File.exist?($config[:pct])
22:25 Hackbinary return false unless File.exist?($config[:pbc_to_exe])
22:25 sorear If you already have Ruby, why are you trying to build Cardinal?
22:26 Hackbinary because 1.) it needs work 2.) sounds like an interesting project
22:26 Hackbinary :)
22:26 sorear *phew*
22:26 sorear I thought you were a user.
22:28 Tene Hackbinary: The rakefile should be correct, so you probably don't have parrot isntalled and available properly.
22:28 Hackbinary hmm .... that's what I'm thinking
22:29 Hackbinary what's the best way to setup parrot on ubuntu?
22:29 Tene Hackbinary: It's entirely possible that cardinal's expectations about parrot paths may have changed since it was last worked on, but I don't think it has.
22:29 Tene Hackbinary: I know that fedora ships a parrot package; I don't know about ubuntu.
22:29 Coke hey, when did elections for pafo happen?
22:29 Hackbinary ubuntu ships a 2.6; there is a ppa with a 2.8
22:29 Tene If you're itnerested in development, I recommend getting the last parrot dev release, or the latest parrot git, possibly.
22:30 Tene yeah,2 6 is old-ish.  3.0 was the last, I think?
22:30 Hackbinary but I've downloaded radoku star
22:30 cotto_work Tene: yeah
22:30 Tene Hackbinary: I don't recall how rakudo star packages parrot exactly.  You should be able to use the same parrot, but you may need to se tup the path properly.
22:30 Tene Lemme download cardinal and check it ouy.
22:31 plobsing joined #parrot
22:31 sorear Rakudo builds an integrated Parrot; it's not really useful if you want to *use* Parrot
22:31 Tene yeahdo this: PARROT_CONFIG=/path/to/your/parrot_config ruby Rakefile
22:32 Tene hmm... not quite
22:34 Hackbinary it should just 'rake' to run the Rakefile
22:34 Tene Yeah, that's right.
22:35 Tene That still fails, though, not sure why.
22:35 Hackbinary but I think I read you need ruby 1.9.3 to urn it
22:35 Hackbinary do you get a failure on line 254 of the Rakefile?
22:35 Tene Yes.
22:36 Hackbinary that's what happening to me too
22:36 Tene Ahh, nqp.
22:36 Tene Hmm.
22:37 Tene oh, the rakefile wants to use the build directory for things...
22:38 Hackbinary my parrot build dir?
22:39 Tene It's checking the parrot build directory for old nqp
22:39 Tene which has been dropped in favor of nqp-rx some time ago
22:40 Hackbinary can I make a sym link to nqp-rx from nqp, or are they not compatable?
22:42 dalek cardinal: 56a35fb | tene++ | Rakefile:
22:42 dalek cardinal: Replace the default path for nqp to nqp-rx
22:42 dalek cardinal: review: https://github.com/parrot/​cardinal/commit/56a35fbe0d
22:43 Tene I just pushed a fix.
22:43 Tene You'll have to delete your build.yaml
22:43 Hackbinary okay cool
22:43 Hackbinary :)
22:45 Tene looks like it's passing many tests.
22:45 Tene rake test:all
22:45 Tene Certainly not all, but many pass.
22:45 Hackbinary I just hosed my parrot, so I'm having to recompile
22:45 Tene Hackbinary: you can use the parrot installed by rakudo
22:46 Tene PARROT_CONFIG=$HOME/src/rakudo​/parrot_install/parrot_config rake
22:46 Tene is what I did
22:46 dalek plparrot: d600dcf | leto++ | html/docs.html:
22:46 dalek plparrot: Add link to recent interview about PL/Parrot
22:46 dalek plparrot: review: https://github.com/leto/plparrot/commit/d600dcf65e
22:47 Hackbinary yah ... I accidentally ran make clean on my rakudo dir
22:48 Tene Hackbinary: I'd love to see work happening on Cardinal, and I'd be glad to help you with it.
22:48 Hackbinary cool
22:48 Tene I was the original author, actually, before I passed it off to treed who improved it a lot.
22:49 Hackbinary cool ... I'm  a bit of a newb with this stuff.  I've been developing php for about 5 years, and I'm looking to get out of php
22:50 Hackbinary and I've got about 15 - 20 years systems admin experience
22:51 Hackbinary but I think there needs to be a solid open source VM, something that could be embedded in servers like apache or databases, then you can choose your front end language
22:52 Tene Hackbinary: Parrot can currently be embedded in postgresql, actually.
22:52 plobsing Hackbinary: mod_parrot and pl/parrot?
22:52 Tene mod_parrot for apache is probably bitrotted, but was pretty interesting
22:52 Hackbinary and my sense is alot of what oracle has taken over from sun is not becontinued
22:52 Hackbinary yeah
22:52 Hackbinary exactly
22:52 Tene could probably be resurrected without too much effort.
22:53 cotto_work I liked mod_parrot.
22:53 * Tene also
22:53 dukeleto mod_parrot is not maintained, but PL/Parrot is
22:53 cotto_work It's a pretty cool idea.
22:53 dukeleto mod_parrot could be resurrected, after the new embed api stuff settles down
22:53 dukeleto could make a good GSoC project...
22:53 Tene I even gave a few talks showing lolcode running in apache
22:53 cotto_work Tene++
22:53 dukeleto LOLpache
22:54 Hackbinary it just seems that everyone is developing their own VM's and that seems to be duplicating alot of common work
22:54 Hackbinary LOLpache ... +1
22:54 dukeleto Hackbinary: yeah, that is why we want 1 really awesome VM so everyone isn't maintaining their own VM
22:56 cotto_work dukeleto: exactly
22:56 Tene I really think that parrot *could* be that.
22:56 Tene I'm pretty hopeful.
22:56 cotto_work If I weren't hopeful I wouldn't be here.
22:56 Tene It'll take quite a while and a lot of work, but I think it's worth doing, and I'm not in any particular hurry.
22:56 Tene Worth taking time to do it right.
22:57 Hackbinary I think stuff happening around java will end up  actually benefiting the parrot project
22:57 Hackbinary perl 6 seems to basically there after 11 years
22:57 Tene That would be nice.
22:57 Tene I don't think parrot's really in a position right now to attract a lot of new interested developers.
22:57 Hackbinary my sense is that ppl are pretty pissed with oracle and where never really happy with the sun licensing anyway
22:57 Tene Too many "this shit is broken and we've been meaning to replace it for years" areas.
22:58 cotto_work Tene: but we're replacing them now.
22:58 Tene Seems like it's moving in a good direction these days.
22:58 Tene cotto_work: Yes, definitely.
22:58 cotto_work I can't even keep up reviewing whiteknight's work on imcc.
22:59 Hunger joined #parrot
22:59 dukeleto Tene: i would argue with you over "not in a position to attract interested developers"
23:00 dukeleto yes, whiteknight++'s IMCC work is just flying by
23:00 dukeleto Tene: GCI is a good rebuttal
23:00 dukeleto Tene: stuff is starting to come together
23:01 cotto_work PDS tomorrow (!) will be interesting.
23:01 Tene dukeleto: I very much don't consider myself sufficiently informed about what appeals to new developers or recent developments in parrot to be confident in my analysis there.  I should have been more clear about that.
23:01 Tene oh, pds is tomorrow?  I haven't been following the right email threads.
23:01 cotto_work Tene: that's fine.  If you skip out for a month you're basically lost.
23:01 cotto_work ;)
23:01 cotto_work yup, 1400 PST
23:01 Tene cotto_work: I've been out for about a year, mostly. :(
23:02 * plobsing will likely have to miss PDS tommorrow :(
23:03 cotto_work It'll be logged if you're interested.
23:03 cotto_work #ps
23:04 plobsing no worries. whiteknight's stated objectives are basically what I would push for anyways
23:05 Tene I keep feeling more and more like I want to start committing to parrot again lately, but I haven't actually made that jump back into doing anything.
23:06 plobsing Tene: anything we could do to facilitate that?
23:07 vmspb left #parrot
23:08 Tene plobsing: I have no recommendations, but there's an open invitation for anyone to do whatever they'd like to try to motivate me or get me involved.
23:11 sorear 1400 PST?  that's LAX PST, right?
23:11 dalek parrot: c4ef4bb | nwellnhof++ | / (6 files):
23:11 dalek parrot: Add support for Win32 error messages
23:11 dalek parrot: review: https://github.com/parrot/parrot/commit/c4ef4bbbc0
23:11 dalek parrot: 057640b | nwellnhof++ | src/platform/generic/socket.c:
23:11 dalek parrot: Use platform error messages in socket code
23:11 dalek parrot: review: https://github.com/parrot/parrot/commit/057640b31b
23:20 allison left #parrot
23:25 dalek parrot: 5bc905b | nwellnhof++ | src/platform/win32/io.c:
23:25 dalek parrot: Use error messages in Win32 file IO code
23:25 dalek parrot: review: https://github.com/parrot/parrot/commit/5bc905be9a
23:29 nwellnhof The Win32 APIs are so lame, it's unbelievable.
23:38 dalek Heuristic branch merge: pushed 77 commits to parrot/nwellnhof/unicode_dynpmcs by nwellnhof
23:40 Tene To be clear, the invitation to harass me into parrot work is open to everyone.
23:44 Hackbinary does this mean anything to you:
23:44 Hackbinary error:imcc:The opcode 'concat_s_s' (concat<2>) was not found. Check the type and number of the arguments
23:44 Hackbinary in file 'src/classes/String.pir' line 535
23:44 Hackbinary included from 'src/gen_builtins.pir' line 23
23:44 Hackbinary included from 'cardinal.pir' line 1
23:44 plobsing left #parrot
23:44 Tene Hackbinary: That opcode was deprecated, and Cardinal's usage of it needs to be removed.
23:45 Tene Hackbinary: Cardinal moved to an immutable strings model.
23:45 nwellnhof Hackbinary: yes, the concat_s_s opcode has been removed recently. it should be replaced with concat_s_s_s.
23:45 cotto_work It's a pretty simple change, if monotonous.
23:45 Tene Hackbinary: the _s_s_s indicate the number and register type of registers used.
23:45 Hackbinary that's the kinda thing that I can do :)
23:45 nwellnhof concat $S1, $S2 => concat $S1, $S1, $S2
23:46 Tene so concat_s_s was two string registers, andmodified the first in-place.
23:46 Tene yes, exactly.
23:47 dalek nqp-rx/nom: 0de3800 | jonathan++ | src/stage0/ (4 files):
23:47 dalek nqp-rx/nom: Update bootstrap with cursor using natively typed attributes.
23:47 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/0de38004ba
23:52 Hackbinary not that I want to start a flame war, but what editors do you guys use to edit pir code?
23:53 sorear pmichaud
23:54 dukeleto Hackbinary: there is an editor/ dir in parrot.git with various stuff for various editors
23:55 dukeleto Hackbinary: it does syntax highlighting of PIR and all that jazz
23:55 Hackbinary cool
23:55 Hackbinary thanks :)
23:55 dukeleto Hackbinary: no worries. Have fun :)
23:57 Tene Hackbinary: vim
23:57 Tene Hackbinary: fwiw, we should be able to dramatically reduce the amount of PIR code in cardinal with some work.
23:57 Tene Once we migrate to nqp-rx, that should help a lot.
23:57 Tene although, it's now on nqp-rx
23:58 Tene The parser is still the old PGE-based, not nqp-based, but we can replace a fair amount of the PIR code there right now with nqp
23:59 dukeleto Tene: sounds good to me

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced