Camelia, the Perl 6 bug

IRC log for #moe, 2013-03-26

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

All times shown according to UTC.

Time Nick Message
00:04 jnap joined #moe
01:15 jnap joined #moe
05:23 melo joined #moe
06:58 tobyink joined #moe
07:54 am0c joined #moe
09:24 tobyink joined #moe
12:14 tobyink joined #moe
12:21 am0c_ joined #moe
12:26 am0c joined #moe
13:30 jnap joined #moe
13:31 bluescreen joined #moe
14:15 jasonmay awwaiid, doy: have you guys checked out the use of reflection in magpie, https://github.com/munificent/magpie/​blob/master/src/com/stuffwithstuff/ma​gpie/intrinsic/IntrinsicLoader.java
14:18 jasonmay judging from concerns though, it sounds like this would be difficult to work well with jvm classes written in Scala, or am I wrong about that?
15:29 jnap1 joined #moe
15:38 melo joined #moe
16:10 awwaiid jasonmay, that is the sort of thing we'll have to do, but yes translated into scala
16:10 awwaiid I think it's only difficult if you're trying to reflect _scala_ classes -- I only care about reflecting java classes right now
16:13 jasonmay me too
16:13 jasonmay you can write java in moe though
16:14 jasonmay (re "translated into scala")
16:14 jasonmay I'll put my money where my mouth is this week
16:17 awwaiid jasonmay++ # he's got potential
17:01 jasonmay push @JVM_INC, 'jlib'; use org::blah::MyClass;
17:01 jasonmay not as java-y as I would like
17:01 jasonmay unshift or whatever
17:02 jasonmay qj[org.blah.MyClass]
17:03 stevan jasonmay++
17:37 jasonmay so apparently the Scala coursera course started yesterday
17:37 jasonmay get on it guys
17:37 * jasonmay signed up
17:47 awwaiid where's the moe course?
17:48 jasonmay you didn't make it yet
17:48 awwaiid doh!
18:04 awwaiid wait... if we don't know scala, how have we been writing moe?
18:05 awwaiid I assumed that we already knew scala. If someone hand TOLD me that I don't know scala maybe I wouldn't have tried to write all that stuff!
18:05 awwaiid sheesh people
18:30 jasonmay eh, I just know how to make tests pass
19:22 bluescreen joined #moe
19:35 jnap joined #moe
19:42 melo joined #moe
19:51 jnap1 joined #moe
20:02 genehack joined #moe
21:21 melo joined #moe
22:03 moe [moe] stevan pushed 16 new commits to master: http://git.io/ax-h0Q
22:03 moe moe/master 0554646 Stevan Little: first stabs
22:03 moe moe/master c58dd95 Stevan Little: make Parameters into a case class
22:03 moe moe/master e445683 Stevan Little: now make that compile
22:03 stevan ^ this stuff adds optional and slurpy parameters
22:11 masak waitwait... "optional an slurpy parameters"... as found in Perl 5? :P
22:12 stevan masak: Perl 5 doesn't have arguments ;)
22:13 stevan err, I mean parameters
22:16 masak that's what I was reacting to.
22:17 masak my question is earnest, if a bit tongue-in-cheek.
22:22 melo joined #moe
22:25 melo joined #moe
22:33 sri masak: moe is competition for perl6, not perl5
22:51 masak huh. I thought it was primarily a reimplementation of Perl 5 with better internals.
22:57 sri masak: that would seem rather pointless, considering that it can't support most of CPAN
22:58 sri should moe ever leave the experimental state, it will compete directly with perl6 for ports of CPAN modules
22:58 masak anyway, even as competition for Perl 6, I applaud it. that is an experiment that needs to be made.
22:59 sri so, might as well make it a more pragmatic version of perl6
23:00 masak a lot of projects want to name themselves "a more pragmatic version of Perl 6" :)
23:01 sri masak: what really surprises me is that there's no initialive from any community to get ffi (or something similar) into the perl5 core to get rid of all the XS and make later porting easier
23:01 masak hm. hadn't considered that.
23:02 sri judging by pypy and jruby, XS will be one of the biggest hurdles to overcome
23:02 jnap joined #moe
23:03 sri (and the dependence is actually way less bad in python and ruby)
23:06 phaylon it would certainly also help get new people on external bindings for p5
23:12 stevan masak: Moe is not Perl 5 or Perl 6, but something in the middle
23:14 masak stevan: yes, that was my impression so far.
23:14 masak stevan: that explains it well.
23:15 masak and I think there's a real niche for a project like that.
23:15 masak like a kind of stepping-stone from 5 to 6.
23:18 jnap joined #moe
23:21 stevan yup
23:21 stevan that is (one of) the goal(s)
23:21 stevan cause really perl 5 is not going to evolve
23:21 stevan unfortunately
23:21 stevan there is just too much back compat baggage and piling more stuff on top is not a sensible option
23:22 stevan it does at times really feel like Perl 6 Lite
23:22 stevan in my head that is, cause all I have is a runtime and some imaginary syntax at this point :)
23:24 * awwaiid keeps beating back toward the perl5 direction, but doesn't provide enough code to be a very strong weight
23:24 awwaiid I should probably go learn perlito :)
23:25 awwaiid so is it valid to have no params, and if so can we have @_ still for compat?
23:27 awwaiid oh wait, this is just AST
23:27 stevan yeah, and i was thinking about having that
23:27 masak stevan: I'm not talking about it too much, but I also have a programming language/runtime that is "Perl 6 Lite". :) but in a slightly different direction from moe, I believe.
23:28 stevan basically just making the default signature be new MoeSignature(List(new MoeSlurpyParameter("@_")))
23:28 awwaiid sounds great
23:28 stevan masak: I would be interested in comparing notes at some point
23:28 masak stevan: ooh, yes.
23:28 stevan right now I have to run and keep my children from killing or injuring one another
23:28 masak :)
23:28 awwaiid masak, come to DCBPW
23:29 stevan yeah what awwaiid said
23:29 awwaiid though it might be out of your way
23:29 masak awwaiid: I don't know what that is.
23:29 stevan I will be there all weekend :)
23:29 awwaiid dcbpw.org dc-baltimore perl workshop
23:29 awwaiid april 20
23:29 masak ah. yes, that's out of my way.
23:29 masak I will be at YAPC::NA, though.
23:29 awwaiid that'll do
23:29 masak \o/
23:30 awwaiid stevan, speaking of which, I'm going to do a few shout-outs about sunday hackathon for dcbpw
23:31 awwaiid brought to you by II :)
23:33 chansen sri: XS is both a strength and a weakness in p5 (IMO), XS makes it easy to "glue" c code without state and it's pain in the ass when you need to maintain state or OO
23:34 doy xs does not make it easy to glue c code at all
23:34 doy xs makes it incredibly difficult to just glue c code
23:34 doy xs makes it easy to manipulate perl data structures from c
23:34 doy but that's an entirely different thing
23:35 doy most people don't actually want to be manipulating perl data structures in c
23:36 awwaiid doy, you'd think if that were the case then some alternative would have come out... oh wait, that IS XS
23:36 doy awwaiid: FFI::Raw is at least vaguely close
23:37 awwaiid yeah, that's on my TODO list to play with
23:37 doy it's harder to do well in a language without a type system though
23:37 sartak much better example of making it easy to glue in C code
23:38 awwaiid well I was thinking that if I can port some simple XS modules to FFI::Raw that it would be a good contribution to Moe and other perl5 alternatives
23:39 chansen doy: I disagree, surely it's simple to wrap a c function that takes two three arguments with a return value
23:39 doy chansen: it's certainly possible
23:39 doy but have you tried any other language at all
23:39 chansen Python, Ruby?
23:39 doy xs does certainly offer this functionality, but not in a way that i would call "easy", in comparison to most other things out there
23:40 sri http://luajit.org/ext_ffi.html
23:40 doy lua, rust, ocaml, perl 6
23:40 doy also, xs offers this functionality in a way that is not constrained at all, in any way
23:41 sri python is not such a bad example either http://docs.python.org/2/library/ctypes.html
23:41 doy which means that people have no reason to not just use random bits of the perl internals
23:41 doy which means that those internals bits have to then be duplicated in any replacement
23:41 sartak in the perl world you get to invoke the user's c compiler. if they have one. and it's compatible
23:41 doy which is an issue that you don't have if you use anything with an actual defined api
23:42 doy sri: yeah, i've just never tried with python or ruby, but i have heard good things about ctypes
23:43 stevan awwaiid: please shout the hackathon from on high
23:43 stevan that would be great
23:43 sri it doesn't work so great in ruby since it's not part of the core
23:44 chansen When I compare XS with other languages I'm comparing it with how you implement/wrap C code in them, not from the language level
23:44 sri (jruby/mri compatibility is a huge mess... nokogiri and friends often ship java *and* c versions...)
23:45 stevan the little time I spent diving into the Ocaml C API I found nice
23:45 stevan and then reading the OCaml -> Ruby bridge was interestig and nice as well
23:46 doy chansen: for one thing, in a lot fo them, you can wrap c code without having to write or compile any c code yourself
23:47 doy but even in the ones where you do, having a real api rather than just exposing the internals is really nice
23:47 doy (lua and ocaml for instance)
23:48 chansen doy: I'm aware of that, still many script languages implements modules in c for performance reasons
23:48 doy you can certainly do that with a real ai
23:48 doy api
23:49 doy really, have you looked at lua or ocaml at all?
23:49 sartak anyway, to circle back to where we started: regardless of how "easy" XS is to glue in C code, XS effectively prevents porting real perl code to other runtimes
23:49 sartak because the perl interpreter is a dependency of XS
23:49 doy right
23:49 chansen doy: ocaml no, lua was several years ago, but it was easy and clean then
23:50 doy a lot of code out there doesn't need to be implemented in c
23:50 doy it just needs to be able to call c code
23:50 doy the things that are currently written in c just for speed will likely need to be rewritten no matter what we do
23:51 doy (although if they could be written in just plain c rather than xs, and then shared, that would also work)
23:51 doy but something like ncurses bindings or whatever really doesn't need anything other than the ability to call the functions in libncurses.so
23:52 chansen true, btw I'm not advocating XS it was fine for what it was designed for but the world moved on but XS didn't
23:53 sartak moe is trying to move perl on with the world :)
23:53 chansen and that is lovely =)

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