Installing Jess 71p2 in Eclipse 4.2

  1. Downloaded “Eclipse IDE for Java Developers”.
  2. The file name is “eclipse-java-juno-SR1-win32.zip”.
  3. This is release number 4.2 (Juno).
  4. Extracted the archive. Started Eclipse and stopped it.
  5. Extracted Jess plugins to the desired dir.
  6. Started Jess. Verified it’s presence.
  7. Installed GEF by using the built in “Juno” repository and searching for “GEF”. It showed up under “Modeling”. The installation took 10 minutes.
  8. Restarted Eclipse.

When you run this sample program:

(reset)
; define the counter
(deftemplate counter
  (slot count (type integer) (default 0)))
; define the rule
(defrule switchme
  ?p <- (counter {count < 10})
  =>
  (printout t ?p.count crlf)
  (bind ?p.count (+ ?p.count 1)))
; initialise counter
(deffunction init ()
  (assert (counter (count 1))))
;initialise program
(init)
;run program
(run)

Then you get a nice structure breakdown and syntax-highlighting:

You can set breakpoints and get debug information:

Here is the Rete network:

Good to know it is available, not that I know the value of it yet! I’m just investigating the plugins.
Next step is to do the studying!

Which power function is right for Clojure?

(ns power.examples)
(defn non-acc-pow [base exp]
  (if (zero? exp)
    1
    (* base (non-acc-pow base (dec exp)))))
(defn acc-pow [base exp]
  (letfn [(loop [base exp acc]
            (if (zero? exp)
              acc
              (recur base (dec exp) (* base acc))))]
    (loop base exp 1)))
(defn lazy-pow [base exp]
  (letfn [(loop [cur]
            (cons cur (lazy-seq (loop (* cur base)))))]
    (nth (take exp (loop base)) (dec exp))))
(defn iter-pow [base exp]
  (nth (take exp (iterate (partial * base) base)) (dec exp)))
(defn apply-pow [base exp]
  (apply * (repeat exp base)))
(= 16
   (non-acc-pow 2 4)
   (acc-pow 2 4)
   (lazy-pow 2 4)
   (iter-pow 2 4)
   (apply-pow 2 4))

Geiser 0.2.1 ELPA Package

Here is an ELPA package for the Geiser library.
The code is original from the author, I just packaged it up!
Here is one way to install it:

(require 'package)
(when (not (package-installed-p 'geiser))
  (url-copy-file
 "https://www.wisdomandwonder.com/wp-content/uploads/2012/09/geiser-0.2.1.tar"
 "/tmp/geiser-0.2.1.tar"
 t)
  (package-install-file "/tmp/geiser-0.2.1.tar"))

Emacs Pretty Mode Plus ELPA Package

Here is an ELPA package for the pretty-mode.el library.
The code functionality is original from the author, I just tweaked the pretty symbols and packaged it up!
Here is one way to install it:

(url-copy-file
 "https://www.wisdomandwonder.com/wp-content/uploads/2012/09/pretty-mode-plus-1.0.tar"
 "/tmp/pretty-mode-plus-1.0.tar"
 t)
(require 'package)
(package-install-file "/tmp/pretty-mode-plus-1.0.tar")

Addendum: 09/29/12
Fixed the package definition and now it is on Marmalade here.
Addendum: 11/29/12
Added Jess mode support.

Hide Or Ignore Comments ELPA Package

Here is an ELPA package for the HideOrIgnoreComments software.
The code is original from the author, I just packaged it up!
Here is one way to install it:

(url-copy-file
 "https://www.wisdomandwonder.com/wp-content/uploads/2012/09/hide-comnt-40.tar"
 "/tmp/hide-comnt-40.tar"
 t)
(require 'package)
(package-install-file "/tmp/hide-comnt-40.tar")

Update 09/29/12:
Lincoln de Souza reported a fix, remove the quote nil from the package def and Marmalade should accept it, and it did. Here it is.