wl

Unnamed repository; edit this file 'description' to name the repository.
git clone https://logand.com/git/wl.git/
Log | Files | Refs | LICENSE

commit c3cff89897bb2d5b6bf277f905a7b33a70aef31e
parent d7c77a34fc8fea0dbc617485cc903bee7ef62303
Author: tomas <tomas@logand.com>
Date:   Sat, 31 Oct 2009 12:44:22 +0100

load kind of works + eof

Diffstat:
Mjava.wl | 7+++----
Mswing2.l | 4+---
Mswing3.l | 3+--
Mswing4.l | 4+---
Mswing5.l | 4+---
Mswing6.l | 9+++++++--
Aswing7.l | 15+++++++++++++++
Mwl.java | 7+++++--
8 files changed, 34 insertions(+), 19 deletions(-)

diff --git a/java.wl b/java.wl @@ -415,12 +415,11 @@ (finally (*Out 'close) (run P 1 '(*Out)) ) ) ) # TODO -(de load @ +(de load @ # finally? (while (args) (in (next) - (finally () - (while (read) - (eval @ 1) ) ) ) ) ) + (until (eof) + (eval (eval (read) 1) 1) ) ) ) ) (de recur recurse (run (cdr recurse))) diff --git a/swing2.l b/swing2.l @@ -1,8 +1,6 @@ # http://www.java2s.com/Code/Java/Language-Basics/InvokemethodthroughJavaReflectionAPI.htm -(import javax.swing JFrame JButton JLabel) -(import java.awt Container BorderLayout) -(import java.awt.event ActionListener) +(load "swing.l") (setq F (jnew JFrame "Command Test")) (setq B1 (jnew JButton "Tick")) diff --git a/swing3.l b/swing3.l @@ -1,5 +1,4 @@ -(import javax.swing JFrame) -(import javax.swing JLabel) +(load "swing.l") (setq F (jnew JFrame "HelloWorldSwing")) (setq L (jnew JLabel "Hello World")) diff --git a/swing4.l b/swing4.l @@ -1,6 +1,4 @@ -(import javax.swing JFrame JLabel JTextField JButton) -(import java.awt.event ActionListener) -(import java.awt Container BorderLayout) +(load "swing.l") (setq W (jnew JFrame "Celsius Converter")) (setq L (jnew JTextField)) diff --git a/swing5.l b/swing5.l @@ -1,6 +1,4 @@ -(import javax.swing JFrame JLabel JTextField JButton) -(import java.awt.event ActionListener) -(import java.awt GridLayout) +(load "swing.l") (setq W (jnew JFrame "Celsius Converter")) (setq L (jnew JTextField)) diff --git a/swing6.l b/swing6.l @@ -1,8 +1,13 @@ # http://life.csu.edu.au/java-tut/uiswing/learn/example-1dot4/LunarPhases.java # http://life.csu.edu.au/java-tut/uiswing/learn/example-1dot4/images/image0.jpg -(import javax.swing JFrame JPanel JLabel JComboBox BoxLayout BorderFactory ImageIcon) -(import java.awt.event ActionListener) +(load "swing.l") + +(println "@@@@@@@@@@@" I) +(setq I ## TODO bug here? + #(fmap '((X) (cons X X)) '(0 1 2 3 4 5 6 7)) + 'fmap) +(println "@@@@@@@@@@@" I) (setq I (fmap '((X) (cons X (jnew ImageIcon (pack "image" X ".jpg")))) '(0 1 2 3 4 5 6 7)) ) diff --git a/swing7.l b/swing7.l @@ -0,0 +1,15 @@ +# http://stackoverflow.com/questions/233171/what-is-the-best-way-to-do-gui-in-clojure/1505404#1505404 + +(load "swing.l") + +(setq F (jnew JFrame "Hello Swing") + D (jnew DefaultTableModel) + A (jnew JTable D) + S (jnew JScrollPane A) ) + +(D 'setNumRows 30) +(D 'setColumnCount 5) +((F 'getContentPane) 'add S) +(F 'setDefaultCloseOperation (jfield JFrame 'EXIT_ON_CLOSE)) +(F 'pack) +(F 'setVisible true) diff --git a/wl.java b/wl.java @@ -1279,8 +1279,10 @@ class wl implements Runnable { return Z; }}); fn("read", new Fn() {public Any fn(Any E) { // TODO - return read1(true); + Any Z = read1(true); + return Z == null ? NIL : Z; }}); + fn("eof", new Fn() {public Any fn(Any E) {return eof() ? T : NIL;}}); } class Exc extends RuntimeException { @@ -1374,8 +1376,9 @@ class wl implements Runnable { while(null != (Z = read1(true))) eval(Z); } catch(FileNotFoundException e) { err(F, "File not found"); + } finally { + In.val(I); } - In.val(I); } public static void main(String args[]) {