Adler, Konard: Thank you guys for the patches. -Itay
On Mar 3, 9:14 pm, aperotte <apero...@gmail.com> wrote: > Hi, > > I'm using linux (Ubuntu) and none of the above scripts worked for me. > I added the ${DP}/bin directory to the classpath list to get it to > work. > > #!/bin/sh > DP="${0%/*}" > java -cp ~/src/clojure/clojure.jar:${DP}/clj:${DP}/java - > Dnet.sourceforge.waterfront.plugins=${DP}/clj/net/sourceforge/ > waterfront/ide/plugins clojure.main ${DP}/clj/net/sourceforge/ > waterfront/ide/main.clj $* > > P.S. - The text editor you are using for the shell script is encoding > DOS style newlines and doesn't work on linux. I copied the text to a > new file to get around it. > > -Adler > > On Feb 25, 4:32 am, Itay Maman <itay.ma...@gmail.com> wrote: > > > On Feb 25, 11:08 am, bOR_ <boris.sch...@gmail.com> wrote: > > > > I'm trying to rewrite the wf.bat to a linux version, but I was a bit > > > puzzled what all the ;%~dp0 's mean. > > > In .bat files %~dp0 specifies the directory where the .bat file is > > located. > > In sh scripts, it should be `dirname $0`. > > > >Apparently the bash version of it > > > is ${0%/*} > > > > java -cp ~/src/clojure/clojure.jar;${0%/*}clj;${0%/*}java - > > > Dnet.sourceforge.waterfront.plugins=${0%/*}clj/net/sourceforge/ > > > waterfront/ide/plugins clojure.main ${0%/*}clj/net/sourceforge/ > > > waterfront/ide/main.clj %* > > > > It seems like you're also assuming 'clj' to exist? > > > clj and java are the subdirectories in the Waterfront installation > > directory. So if the zip was unzipped > > successfully, it is safe to assume they exist. > > > I don't have a Linux machine. Could you send me this script (one it is > > up and running) > > so that I will put it inside the .zip file? > > > Thanks, > > -Itay > > > > On Feb 25, 2:57 am, Kevin Albrecht <onlya...@gmail.com> wrote: > > > > > Itay, > > > > > I took a look at Waterfront and it seems to have a lot of potential. > > > > Keep me and the group updated on your future work. > > > > > I have also been working on a GUI application in Clojure and I share > > > > your perspective on the challenges of designing a functional GUI. I > > > > am definitely intrigued by the application context pattern and I am > > > > going to take a look at it for incorporation in my design. > > > > > Thanks, > > > > Kevin Albrecht > > > > > On Feb 24, 6:04 am, Itay Maman <itay.ma...@gmail.com> wrote: > > > > > > I've been silently following Clojure (and this group) for several > > > > > months now.Somewhere around December I started working on a Clojure > > > > > editor/REPL written in Clojure. This effort evolved into the > > > > > Waterfront project which is now available on sourceforge (http:// > > > > > sourceforge.net/project/showfiles.php?group_id=249246). > > > > > > Waterfront's Highlights: > > > > > > * CTRL+E: Eval current selection, or the whole file if the selection > > > > > is empty > > > > > * Edit -> Eval as you type: When turned on (default) periodically > > > > > evaluates your code. Boosts productivity as many errors are detected > > > > > on the spot. > > > > > * Eval-ed code can inspect/mutate Waterfront by accessing the *app* > > > > > variable. For instance, if you eval this expression, > > > > > ((*app* :change) :font-name "Arial"), you will choose "Arial" as the > > > > > UI font. > > > > > * Eval-ed code can inspect the currently edited Clojure program. For > > > > > instance, if you eval this expression, ((*app* :visit) #(when (= (str > > > > > (first %1)) "cons") (println %1))), the output window will show all > > > > > calls, made by your code, to the cons function. > > > > > * Syntax and Evaluation errors are displayed on: (1) The Problems > > > > > window; (2) The line-number panel, as red markers. > > > > > * Source -> Generate -> Proxy: Generates a proxy for the given list of > > > > > super-types, with stub implementations for all abstract methods. > > > > > * F1: Shows the doc (as per Clojure's (doc x) function) of the > > > > > identifier under the caret. > > > > > * Source -> Reflect: Shows the synopsis of a Java class when the caret > > > > > stands on a class symbol (e.g.: java.awt.Color). > > > > > * CTRL+Space: Token-based auto completion. > > > > > * Full parenthesis matching. > > > > > * An extensible plugin architecture. > > > > > * Other goodies such as undo/redo, toggle comment, recently opened > > > > > files, indent/unindent, Tab is *always* two spaces, ... > > > > > > In order to get started, you need to > > > > > (1) Download the waterfront zip file > > > > > from:http://sourceforge.net/project/showfiles.php?group_id=249246. > > > > > (2) Unpack it into a local directory. > > > > > (3) Edit wf.bat: fix the path to clojure.jar according to its > > > > > location on your machine. > > > > > > Personally, this effort was quite interesting. Writing GUI > > > > > applications in a functional language is sometimes a challenging task > > > > > (at least if you want your Clojure code not to be a transliteration of > > > > > Java code…). I used a pattern the "application context" pattern: an > > > > > immutable map describing the application's current state that is > > > > > passed around. This made it possible for most of Waterfront's code to > > > > > be purely functional. Consequently, plugins can accomplish a lot with > > > > > just a handful of lines. Many plugins span about 60 lines of code. > > > > > Vast majority of them are less than 200 LOC. The main module, ui.clj, > > > > > that implements the underlying engine is also less than 200 LOC. I > > > > > think this is a very good indication to Clojure's power. > > > > > > Hope you'll find it useful. I'd be happy if anyone would like to join > > > > > and contribute to Waterfront. Your feedback, either on-line or > > > > > offline, will be highly appreciated. > > > > > > -- > > > > > Itay Mamanhttp://javadots.blogspot.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---