Page 1 of 1

query: internet required for newLISP?

Posted: Fri Aug 22, 2003 7:17 am
by kazemori
i have recently installed newLISP (win32 binaries) onto my notebook pc (winme).

i am having a lot of fun with newLISP and the demo programs; however, i have one problem:

unless i am connected to the internet, only the console will work! newLISP complains about "net-send expecting a value".
no matter what i try, the console reports back with the same "net-send..."

this is an interesting "feature", to be sure; however, i would like to use newLISP without having to initiate (or maintain) an internet connection.
(call me "mr. dial-up" ;-)

thanks in advance for any assistance!


Posted: Sat Aug 23, 2003 5:20 pm
by Lutz
newLISP uses TCP/IP for communication between the newlisp-tk frontend and the newlisp.exe program. So you need to have at least an ethernet card in your computer, or be connected to the internet via dial-up. If not you, can only work with newlisp.exe directly and in console mode.

As a benefit of this architecture the newLISP frontend can be used remotely on a different computer. So you could control newLISP remotely. This is important when running newLISP on mainframes or other computers, you don't have direct access to.


Posted: Sat Aug 23, 2003 9:52 pm
by kazemori
thank you for your reply!

my notebook has built-in ethernet (no connection is available); are you saying that you can not modify newLISP to operate (with full functionality) without a persistent TCP/IP connection?

if so, you should be *explicit* about this on the newLISP web-sites (SourceForge, et al) and state that newLISP can not offer full functionality to "stand-alone" users -- newLISP is in fact an "internet-only" programming tool.

i hope this is not the case. i have spent several weeks researching the various Lisp and Scheme dialects and had decided to use newLISP. now it seems that i will have to go elsewhere. DrScheme, anyone? ;-)

i can appreciate this "feature" which you have built into newLISP for remote host operations; however, this should be an optional capability (via a library or module). why should this be forced?

i hope that there is something that we can have a customer here!


Posted: Sun Aug 24, 2003 2:42 am
by eddier
I have an ethernet card in my computer and I use newLisp at home on my laptop without connecting to the Internet. I fire up newLisp-tk from time to time but newLisp never asks me to dial up a connection. Maybe XP doesn't ask to dial in???

My favorite way to use newLisp on Windows is to use the SciTe editor, a free download. You can dump all the keywords in the lisp properties set F5 to automatically execute your code from the editor. If your doing Tk stuff, however, I'm not sure this works, but I will check.


Posted: Sun Aug 24, 2003 3:30 am
by kazemori
hello Eddie, thanks for the tip -- i will check out SciTe!

newLISP-Tk does not ask for a connection, and my system does not have permission to initiate one (never trust M$ ;-). i have determined (with fingers crossed) that an internet (or network?) connection is only required when the console is initiated. after the console is up and running (after a successful "load" of a Tk-enabled script), it does not seem to make additional checks for the system's connection status.

this is inconvenient, but tolerable for the moment. i really want to stick with newLISP for a while, so i am more interested in working around this hiccup than switching to a new Lisp/Scheme implementation.

having the Tk environment available (or something equivalent) is essential.


Posted: Sun Aug 24, 2003 12:57 pm
by Lutz
You can work newLISP-tk without beeing connected to the Internet, but what you need is a TCP/IP stack running on your machine, because becuase the frontend and backend part communicate via TCP/IP.

Unfortunately on Windows a TCP/IP stack is ony loaded only when an ethernet card is present or the dialup software is running. On Unix-like operating system TCP/IP communications between parts of the system is an old and essential thing, i.e. X windows wouldn't run without and many bigger database systems.


Posted: Sun Aug 24, 2003 7:48 pm
by kazemori
thank you, Lutz.

i do understand about *nix and *BSD systems having persistent TCP/IP. (i will not switch my notebook off from windoze until i have found a suitable driver for my winmodem ;-)

my notebook does have built-in ethernet, but this seems to be "inert" WRT my notebook's TCP/IP status. i will check the system configuration (maybe i disabled the card at some point).

as stated in my previous post: i can initiate an internet connection via dial-up, run newLISP-Tk and load at least one Tk-enabled script, and then disconnect. newLISP-Tk then seems to run normally with one exception: the console does not "unload" scripts that have been "quit". i have to manually delete the definitions (one-by-one) from an editor window (newbie alert -- maybe i am missing something here?). this is only an issue when modifying certain scripts and both the "old" and "new" copies are loaded.

seriously, i am having a lot of fun with your newLISP and see this as just a bump in the road... thank you for all of your efforts. i do appreciate it!


Posted: Sun Aug 24, 2003 9:08 pm
by Lutz
Ok, I guess I didn't understand at first ...

When you load lisp files their definitions stay in memory in the newLISP workspace. That's the way it is supposed to work. You add definitions, set variables etc. than you can save your workspace or just one context (name space) by using the the 'save' funtion or in newLISP-tk using the menu to do the same.

Some people don't like editing in the Tk frontend and use it only for browsing functions, debugging etc. These people edit their files using a different editor and then can use the 'reload' button (the second from the left) or CTRL-r to 'reload' the last loaded.

This will overwrite existing definitions and contents of symbols but not 'undo' exisiting symbols.


Posted: Mon Aug 25, 2003 5:14 am
by kazemori
hello lutz,

thank you for making such prompt replies. it turns out that i am using newLISP-Tk just as you have described:

<lutz> Some people don't like editing in the Tk frontend and use it only for browsing functions, debugging etc. These people edit their files using a different editor and then can use the 'reload' button (the second from the left) or CTRL-r to 'reload' the last loaded. </lutz>

i have very little previous Tk experience (perl-Tk), so i am trying to gain a basic competence by re-tooling the demo programs you were kind enough to include. for the moment i just cycle scripts through wordpad's MRU file list, and reload scripts into newLISP-Tk as needed.

i have O'Reilly's win98 in a nutshell, which suggests that i can setup a diagnostic loop for TCP/IP communications (ipconfig). i will try this and see if i can "hot-wire" my notebook to keep newLISP-Tk happy...


Posted: Mon Aug 25, 2003 1:04 pm
by Lutz
Before I did the frontend for newLISP I had almost no Tcl/Tk experience. Besides the demo programs, you also might look into the source of the frontend. The file newlisp-tk.tcl is included in the source distribution and has some interesting things, like doing menu's, tcp/ip etc..

The demo programs are a good start, because I have tried to put most of the elements you might encounter when doing Tk into it. The manual also gives you some specifics about Tk on newLISP.

At that time I used the book "Practical Programming in Tcl and Tk" from "Brent B. Welch". He is from the Tcl/Tk development team and his book helped me a lot. I also use the O'Reilly pocket reference a lot.

I never got to much excited about the Tcl part of Tcl/Tk, but think that the graphical part Tk is relatively easy to learn and streight forward.

In earlier times newLISP had it's own layer of windows and graphics on top of the MS Windows API. But then I wanted a way to make graphics for newLISP portable on all OS platforms and Tk has done a very good job at that.

The MS Windows API is full of inconsistencies and I know from my own experience that it is very hard to build something clean and logical on top oft it. Tk has done that and it works on Windows, OSX and most UNIX flavors.

Hope you find some trick to get your Tcp/Ip stack up running on your notebook without dialing to your ISP ...


Posted: Mon Aug 25, 2003 7:39 pm
by kazemori
time for a new thread?

<topic Tk>
i also have the O'Reilly pocket reference and the O'Reilly Perl-Tk book (maybe i will survive =). i have also downloaded the newLISP-Tk source, so i will take a look at newlisp-tk.tcl file. "pick a lisp, learn Tk" =)

have you seen the FreeWrapBLT 5.5 release? does this add anything (useful) over the standard FreeWrap?

how far back was the last release of a "non-Tk" newLISP? it seems that you have been developing newLISP for over 10 years. wow... BTW, you write really clean C.

<topic TCP/IP>
alas, i failed. my ethernet card had indeed been disabled, but turning it on did not help. nor did any of my attempts to reconfigure my networking. in the end, i had to just reset eveything back to the original configuration.

i will simply proceed as i have indicated before. if i'm out in the boonies, i will content myself with the console on my notebook -- or just take LispMe!


Posted: Tue Aug 26, 2003 1:14 pm
by eddier
When I plug in newlisp-tk into SciTe it executes with the full path, that is, it just brings up the newlisp-tk console without running the program. I'm not sure how to fix it to just run the file. I know the file must be in a directory in the PATH variable also for this to work.

I used Tk a long time ago before I discovered CGI and JavaScript. I've written quite a few programs for the College, mainly for financial aid, but they are accessed through CGI, which is a much easier way for me to make a cross platform GUI interface and allow people to share files.


Posted: Tue Aug 26, 2003 3:40 pm
by Lutz
If newlisp-tk.exe starts it looks for newlisp-tk.config normally in the same directory wher newlisp-tk.exe is located. newlisp-tk.config contains all kinds of settings (mostly TCP/IP stuff) to start the newlisp.exe main program.

- put the path of newlisp.exe in you sytem path, so newlisp-tk.exe will always find it even if newlisp-tk.exe was started from a different place.

- perhaps newlisp-tk.exe is looking for newlisp-tk.config in the directory where you start SciTe.exe?


Posted: Tue Aug 26, 2003 4:13 pm
by kazemori
hi all,

i have downloaded SciTe and will try it out today. i have also downloaded a few other editors to "test drive". if any of these editors are promising (and play nice with newLISP =) -- i will post some information with a new thread.

cgi reminds me too much of my time with thanks! javascript (in the form of jscript) is built into windows, so i have been using jscript and vbscript to torment my notebook. i have an idea to use a script to initiate newLISP (connect to internet : load newLISP : load one Tk-script : disconnect from internet : hand-off newLISP).

if this is tiny hack successful (and if anyone is interested...) i will make the script available.


Posted: Wed Aug 27, 2003 1:14 pm
by eddier
I've tried some things like copy newlisp-tk.config into the SciTe directory and making sure newlisp is in the PATH environment variable. It works for newlisp but not newlisp-tk. I have so many other projects that must be completed, I will have to look at this later.

Good luck on those other editors. I use jed sometimes on my Linux box (it works on Windows too) .

I like vim for some things, especially PHP. I know a lot of people that hate it because it seems so old fasion, but who knows, you might like it.

I think my favorite editor is emacs, but for some reason, I don't enjoy it on Windoze. BTW, if you change the compile command in emacs from "make -k" to "newlisp-tk," it runs newlisp-tk programs with out a hitch, at least on my Linux box.


Posted: Wed Aug 27, 2003 3:55 pm
by Lutz
On the subject of editors. If you like to work often with the raw newLISP, without the TK frontend (I do this a lot), you might try this little macro from the init.lsp file:

(define-macro (edit _func)
(save (string _func) _func)
(! (string "/usr/bin/vi " _func))
(load (string _func)))

On the comandline in newLISP you just do:

(edit foo)

And vi pops up with the definition of foo ready to edit. Then you just save and quit, and you are back in newLISP. It's like the poor man's IDE and useful if you like todo interactive development function by function. When everything is done do a (save "myprog") and edit the file myprog beautifying, commenting it etc..


Posted: Wed Aug 27, 2003 8:24 pm
by kazemori
thank you eddie! ...and thank you lutz!

so much to do...