Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - TedWalther

#16
where is the modified odbc.lsp?
#17
That is so beautiful it makes me want to cry.
#18
Dexter, have you looked at the pack and unpack functions?  I think they'll do what you want.
#19
Are you sure the link is spelled correctly?  When I click the link, I get "page not found".
#20
Wow, good detective work.  Thank you for that nice diagram.  Do you have a program to auto-generate it from a script, or was it a hand drawn work of art?  I ask because often I'd like to make similar diagrams to illustrate things.
#21
Hi, I don't know of anything like that for newlisp, but should be easy to implement.  Do you have a link to a good description of the algorithm?  SInce the source of TeX is available, and the documentation comes with it, it should be in there somewhere.  Can you track it down?
#22
Anything else we might add? / Re: Newlisp vs Lua
February 02, 2018, 02:48:57 PM
joejoe, you are fundamentally misunderstanding the issue here.  Creating an application, then "compiling" it in into a standalone binary, which means the newlisp executable plus the newlisp source code tacked onto the end, doesn't alter newlisp in any way.  Using the GPL here prevents distributing such a "compiled binary" without also distributing the source to your application.



Even the GNU C compiler allows you to compile a static binary, which includes a substantial part of the libc, without having to give away the source code to your application.  That is why the library exception, the LGPL, was put in place.  Richard Stallman acknowledged the reality that Free Software may be desirable, but isn't possible or practical in all instances.



Since you try to quote GNU to me, who has been developing GNU software for 20 years, read this link:



https://www.gnu.org/licenses/gcc-exception-3.1.en.html">https://www.gnu.org/licenses/gcc-exception-3.1.en.html
#23
Anything else we might add? / Re: Newlisp vs Lua
February 02, 2018, 02:46:46 PM
Quote from: "joejoe"
If you contributed code that your grand-kids could not make use of because your license choice allowed the boxing up and redistribution of your source code without sharing the source code to your grand-kids, that would be a loss, like not really free code (i.e., MIT/BSD).



Dual-licensing allows for deception and deprivation, a novice move. Freedom does not tend towards denying others a freedom you were freely given.


You need to look at it from both sides.  Developing software to fill a niche takes time energy and effort, "life force".  A developer doesn't get that back, but he can get paid.  Making everything open source makes a lot of niches impossible to fill.  I have a family to feed.  When my family is fed, and I have spare change, I can contribute back to the ecosystem that supported and enabled me.  The choice I have is, choose a closed ecosystem to contribute back to by paying licensing fees in turn, or contribute back to the open source ecosystem, by paying the developers who work on the ecosystem itself.  GPL takes that choice away from me.



The big issue in the small niches, one client can't pay the whole cost of development.  You need several clients.  And it can take years to get those clients.  But the software already has to be developed, and available under a suitable license.  Otherwise, one client takes the program and runs with it.  A lot of small shops just get by.  Open Source infrastructure helps them; making their own niche software open source by default, does not.  If a client wants something to be open source, the cost goes up.  Most clients aren't interested or willing in paying extra.  Open Source software is too expensive for many niches; with the BSD license, at least the option remains for a client to be provided source if they need it and are willing to pay the premium.  What premium?  The risk premium to the original developer.



For business customers, the real open source that they usually need is open data formats.  If they don't like your software, they should be able to take their data elsewhere.  That also gives them a freedom very much like open source code; the ability to inspect and manipulate their business data with tools they develop in house.



Am seriously looking at FreePascal right now.  But would much rather use Lisp.  Maybe I have to go with ECL (Embedded Common Lisp) which comes with Qt support built in.



As for my grandkids, if you think BSD license will prevent them from accessing my source code, you are wrong.  Even in the unlikely event that said source is still relevant at the time they are ready to program computers.
#24
newLISP newS / Re: Development release newLISP v.10.7.3
October 09, 2017, 01:12:29 PM
Wow, how did you know.  This week for the first time in many years of using newlisp, I used read-key.  And then I came to a use-case where I wanted non-blocking.  I tried using "peek" for this, but it didn't work.  Thank you for adding non-blocking read-key!
#25
It occurs to me, if I was trimming a string, and it had 00 characters on either the left or the right side, I'd want them GONE.  If it is a binary string where the 00 character belongs, then I wouldn't be running trim on it, since trim is a textual function.
#26
Anything else we might add? / Re: Newlisp vs Lua
September 12, 2017, 06:46:26 PM
A thought on co-routines; how do you implement them so the call stack doesn't blow up?  Is such an implementation possible under the ORO memory manager?  The bash shell uses ORO, and Unix pipes have been compared to coroutines, maybe there is some insight to be gleaned there.  If coroutines require code to avoid stack blowup, then maybe tail calls would make sense too.  But then debuggability goes down the toilet.
#27
Anything else we might add? / Re: Newlisp vs Lua
September 12, 2017, 01:21:04 PM
Quote from: "rickyboy"So, for newLISP, I think that licensing is not a big issue; if not, a non-issue, or rather, shouldn't be considered critical or important.  (But as we all know, perception often wins out over bare facts.  I get it, as sometimes, I'm the cause of such problems/issues myself. :)


License is an issue if you want to distribute a single executable without your client having access to the source code, and if you want to statically link the newlisp DLL into your C/C++ program.  Having a single executable that you can drop onto another computer without any dependancies is very handy at times. There is a current project I'd love to use newLisp for, but I'm grinding it out in C++/Qt instead.  What I'd love is something like Delphi, but LISP instead of Pascal.  With a BSD license, I think I could provide some add-on module for newlisp that would do that.



What Lua got right, and Tcl and Guile also are attempting, is that an application can make itself "programmable" using a standard language.  This way, skills can transfer between applications.  I'd like newLisp to be able to enter that space.  Also, implementing coroutines would be a fun little exercise, wouldn't require any "wierd" C at all.
#28
Anything else we might add? / Re: Newlisp vs Lua
September 12, 2017, 09:26:26 AM
About Mind-share, Lua has licensed a bit differently in a way that allows proprietary software.  And it has a university department that has been developing and promoting it for decades.  Guy Steele wrote about the initial user communities for a language being crucial to it taking off.  So, what is the killer app that would make newLisp "take off"?  Also, does Lutz want it to take off more than it already has? :)  To read Guy Steele's paper, look up "Evolution of Lisp" and "History of Lisp" by Guy Steele.
#29
Anything else we might add? / Re: Newlisp vs Lua
September 12, 2017, 09:20:51 AM
I've been thinking about coroutines over the past 2 years.  To my surprise, I think I've found a way to implement coroutines for newlisp that doesn't involve any assembly language or tricky C.  It is just pure AST manipulation.  However, it definitely wouldn't be lexically scoped. :)  I went back and read the original LISP paper by McCarthy, and the manual for LISP version 1, and it opened my eyes; newLisp is actually a "third way" with Common Lisp and Scheme being the other branches.  I think SmallTalk is also in the family, but just a little TOO different to really count.



I talked to Chuck Moore in person and asked him point blank about the similarities between FORTH and LISP, and he agreed.  Before it got pushed too much in an academic direction, LISP also was small and practical and close to the machine, allowing you to easily drop down into Assembler, and had primitive functions to twiddle with the machine registers, stack frames, etc.  I think SmallTalk originally also had this property and maybe still does, at least if you count the Virtual Machine as the assembly language level.



LISP version 1 was 50kilobytes in size without the built in assembler/compiler, about 150 kilobytes with.  Wonder how hard it would be to implement that today.  But with all the different CPU out there, probably no worthwhile. :(  Unless we go the VM route, then that brings us to Lua, Erlang and Java VMs, which ones to choose.  Or even the TCL byte-code VM.  Or the emacs VM.  And finally, LLVM.
#30
Thanks Lutz.  I found I can do it entirely in the Postscript.  I took the postscript output by newlisp, and edited it by hand.  Here is the diff; it just needed 3 lines added, and 1 line modified.



-%!PS-Adobe-2.0
+%!PS-Adobe-3.0
 %%Creator: newLISP
+%%Orientation: Portrait
+%%DocumentMedia: plywood 6912 3456 80 () ()
 
 %% ---------- SETUP ----------
 
+<< /PageSize [6912 3456] >> setpagedevice
 /orient 0 def
 /xpos 0 def
 /ypos 0 def


I totally did not see a ps:canvas command in the documentation for the postscript module.  Is it undocumented?  It looks like a good place to set page size; and maybe orientation too.