Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Ovid (2709)

  (email not shown publicly)
AOL IM: ovidperl (Add Buddy, Send Message)

Stuff with the Perl Foundation. A couple of patches in the Perl core. A few CPAN modules. That about sums it up.

Journal of Ovid (2709)

Wednesday May 11, 2005
11:53 AM

A Better Prolog Shell

[ #24634 ]

I finally released a better shell for AI::Prolog. When 0.65 hits the shelves (any minute now), the optional aiprolog shell will now require Term::ReadLine and Term::ReadKey. This will give you command history (so you can up arrow to previous commands) and allow you to type a ';' (semicolon) to get successive results, just as you would with a regular Prolog shell. It also prints out "Yes" and "No" at appropriate spots so you better understand what's going on. Naturally, if you choose not to install the shell, the extra modules will not be added to prerequisites. (Seems I'm learning quite a bit about putting together a proper Makefile.PL.)

All things considered, this is a much easier shell to use and people who are already familiar with Prolog will feel at home.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • In order to make your META.yml file accurate, dynamically adding modules to Makefile.PL at runtime is frowned upon. The workaround in a case like yours is to use Module::Build and its recommends and/or auto_features paramters.


    • Yeah, I was concerned about that, but I'm not ready to go the Module::Build route yet as there are still some folks out there who kick up a fuss about using it. I suppose I should bite the bullet. And recommends doesn't work because these modules are required if the shell is installed. What's auto_features? Does M::B have something that cleanly handles this?

      • auto_features allows you to enable the shell only if the prerequisites are already installed. Randy has worked some on adding advanced version checking to M::B (via a mini-language he calls dEx []), but it's not in yet. Once it is, you'll be able to specify a collection of modules for a particular feature, and it will prompt the user to see if they want the feature and add the module prerequisites if they do.

        But he hasn't been working on it for a while...