Perl 6 - the future is here, just unevenly distributed

IRC log for #pdl, 2015-07-12

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

All times shown according to UTC.

Time Nick Message
02:38 jberger joined #pdl
15:52 mohawk joined #pdl
18:40 chm joined #pdl
18:46 chm sivoais: You can use the https interface if ssh is blocked
18:47 mohawk chm, hello
18:47 chm sivoais: I notice the benchmark wars on FFT seem to be for FFTW2 and not FFTW3
18:47 chm sivoais: In my experience if folks don't agree on a benchmark then they can always prove their side is better
18:48 chm benchmarks have too many degrees of freedom to nail down: config, compile, run environ, system load...
18:48 chm mohawk: catching up with sf390 this afternoon.
18:49 chm sivoais: I've been looking at the Enlightenment Object Model for a C level Moo/MOP capability.
18:50 chm I was hoping for something equivalent to Moo to make a nice, symmetric implementation.
18:50 sivoais chm: oh, what do you think of it?
18:51 sivoais I actually came across *another* C OOP library
18:51 sivoais <http://ldeniau.web.cern.ch/ldeniau/cos.html>
18:52 sivoais "uniform object oriented programming including open classes, metaclasses, property metaclasses, generics, multimethods, delegation, ownership, properties, exceptions, contracts and closures."
18:52 chm vicash, sivoais: re LLVM, I think a more compiler agnostic approach would be best for core functionality.
18:52 sivoais I haven't read the code to see how it is done (<https://github.com/CObjectSystem/COS>), but those all sound amazing
18:53 chm After all, with JIT or LLVM or whatever, we can rebuild a more complex foundation at bootstrap if needed,\
18:53 chm static or dynamic
18:53 sivoais yes, like you were saying: go for the most fundamental level
18:54 sivoais and in my mind, we can always use some custom backends / transformations later to optimise as long as we keep an eye out for that
18:57 chm That is one of the things I found appealing to use Moo with a corresponding Moo-C layer.
18:57 chm Has the basics and with method modifiers we could provide hook-ed capabilities to evolve supported functionality.
18:57 chm Thanks for the ref to C
18:58 chm COS, I'll take a look at the paper.  My first thought is "can we start with something simpler?"
18:58 sivoais COS supports method modifiers! If you read the paper, they have an automatic object pool that is done by using an around modifier on the *_new() method
18:58 chm Of course, I only skimmed the paper while it printed out...
18:59 chm That is nice to hear.  EO doesn't have MM's and I was thinking I might try to get them into the
19:00 chm object model but things seemed almost feature/API frozen.  They've discovered some memory bloat
19:00 chm issues that need fixing so there may be a window opening for that attempt now.
19:00 chm Maybe something like
19:00 chm CO (2/3rds of C
19:00 chm C
19:01 chm Maybe something like CO (2/3rds of COS) could be done as well.  :-)
19:03 chm sivoais: Re autosave/caching files while building up a data flow.
19:03 sivoais heh, yep. I'll be available in a month, so I'd like to start doing some experimenting with that. A proper benchmark and survey of the feature sets of different approaches would be useful
19:04 mohawk chm, (re looking at sf390) - great!
19:04 chm I come at the problem from the direction of needing traceable computation for documentation and the ability to verify and publish.
19:05 sivoais chm: the author of incpy has a paper on that as well
19:05 chm I would like to see a revision of the new PDL shell to use Reply instead of Devel::Repl
19:05 sivoais I think it is called CDE.. let me look it up
19:05 chm Devel::Repl was cool but adds extra complexity that is not helpful in the shell.
19:06 chm It should be possible to tie in to the pdl dataflow and the shells to produce
19:06 chm a record of computation and intermediate results.  Wouldn't it be nice to be able to
19:07 chm redo a dead end computation without having to re-run the previous sequence to generate the inputs?
19:08 sivoais there is a desc. of several tools for that in Philip Guo's dissertation <http://www.pgbovine.net/publications/Philip-Guo_PhD-dissertation_software-tools-for-research-programming.pdf>
19:08 sivoais this is probably the closest <http://www.pgbovine.net/burrito.html>
19:10 chm Neat!  We'll I had better get to sf390 before I run out of time.
19:10 sivoais unfortunately, I think that the whole work is only at a prototype level and needs more polishing to be useful. But it makes a good basis for the future.
19:10 chm Will you be around if questions/discussion are needed there?
19:10 sivoais chm: yep, I'll be around. I'm just doing some writing today and a little build system fixes for my thesis
19:11 chm sivoais: I'll keep you posted then....
20:52 plicease joined #pdl
21:07 chm sivoais: It turns out that COS is an updated and improved version of C OOP that I had seen some years ago.
21:08 chm It was one of the things suggesting a unified perl and C OOP framework for PDL.
21:09 chm I downloaded the source and tried to build on cygwin.  Didn't finish but I don't think the fixes would be difficult.
21:09 chm I did look at the documentation therein.  Pretty cool stuff.
21:09 chm As with the Enlightenment Object model there is a new-syntax stage.
21:10 chm For EO it is the eolian code generator which makes the C for an EO object/class definitions.
21:10 chm With COS, this is basically some CPP implementing the new language syntax.
21:11 chm There were a number of cool things that could be done.
21:11 chm plicease: COS is just a C library so it could be used via FFI (from Perl or Python or whatever)
21:12 chm They provide a grammar for the syntax which might be usable by us to
21:13 chm implement a Compile::COS or Moo::COS compilers to make Moo-equivalent structures at the C level.
21:13 chm Since the COS supports the around() modifier, it would be possible to implement using a fallback
21:14 chm jump back to perl for exceptional cases or to enable complex features that may not
21:14 chm be needed at the C level interfaces.  Or for which we're still working out the best
21:14 chm way to implement.
21:15 chm I'm pretty excited about this as with Moo::COS along with the TinyCC work of David et. al.
21:15 chm we could possibly generate rather straightforwardly a Moo + MooC dual framework for PDL3 development.
21:18 * sivoais nods
22:36 sivoais chm: did you get a chance to look over sf390?
23:03 mohawk joined #pdl
23:55 mohawk chm, did you have any issues with sivoais's sf390 work or are we good to merge and you make a dev release?

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