Re: PicoLisp is DEAD (Was: PicoLisp and its (lack of) libraries)
* A message from one of the silent * I have just used Picolisp (PL) to write a tiny application that generates web sites from xml files. It was great fun, and I use it in my business. I am profoundly impressed with the power of the language. I agree that picolisp can he hard to follow when you look at coding examples, and more documentation is always good, but take a look at this if you struggle: http://rosettacode.org/wiki/Category:Programming_Tasks It is a list of typical programming tasks and how to solve them in a range of languages. Surprisingly picolisp code solutions are numerous. More so than more mainstream languages. You might also note that the PL solutions are more succinct in most cases than other languages. Keep up the good work everyone. It is much appreciated. Regards Mark Stephens On Mon, 2012-01-23 at 11:25 +1100, Konrad Zielinski wrote: I have to disagree. Having a framework comes later. There are two things that work against picolisp. 1. Lack of floating point numbers. Yes I know its a design decision and yes I know its not likely to change. But it is a lack that does put a lot of potential users off in the first five minutes, even if the problem they are trying to solve right now does not neat flaoting point numbers. 2. Lack of documentation. The langauge reference is terse and hard to understand. Meanwhile what tutorials do exist only cover a small faction of the langage. THis leaves it dificult to work out how most of the language needs to be used. In particular the list manipulation primites are just not adaquatly covered anywhere. This is the big one in my opinion. And having good documentation is very much part of what made languages like Python and Ruby take off in the first place. Python started life as a teching language so it had doccumentation from the begining. This is about as far as I end up getting every time I have a foray into using picoLisp. I love the language in theory, but Just can't do anything with it in practice. Often I work at odd moments without an internet connection and getting to the I can't find any way to do X problem is likely to end with I'll do it in python, rather then a post to mailing list. 3. Having a home grown database, rather then a clean binding to various SQL backends is likewise problametic. For a commerical point of view I would never be willing to recommend such a setup as it would expose me to too much Risk. Eventually data loss will occure. and If you are the one who chose this unproven technology without wide industry acceptence you are the one who will get all the blame. regs Konrad On Mon, Jan 23, 2012 at 8:33 AM, Terry Palfrey terrypalfrey...@gmail.com wrote: On Sun, Jan 22, 2012 at 5:42 AM, Jakob Eriksson ja...@aurorasystems.eu wrote: Don't confuse the silence of the majority for consent, one way or another, it's like politics. The most vocal proponents of any standpoint, are not likely to represent any majority. And I haven't even touched on the possibility that the majority can be wrong. Right or wrong or correct or useful is not decided in a popularity contest. In a world where all is (1's) and (0's) making the machine bow to your vision is a complex undertaking. You can use remote robotic constructions which are simply abstracted abstractions of a belief system or you can work more closely to what you are thinking of having happen. It doesn't matter what the world thinks or what the experts declare but it often has something to do with ego, bias and money. Lisp as written about across the net and through interviews and books comes with a guarantee, it is smaller code, faster development and more direct expression and now computing power has caught up but mindset lags. PicoLisp is old, but PicoLisp in a sense is very new - in the area where I personally see most potential (embedded in embedded hardware and embedded in programs), it has had a proprietary friendly license only since 2010. On the server it gained a 64 bit port only in 2009 and for reference and research a Java version 2010. Super easy library calling also came with the 64 bit version. Perhaps a look at what Perl, Ruby, Python et al did to become popular holds the clue to the logical step to promoting Picolisp to the next level. Ruby got RAILS and things got all excited. Is there a framework that Picolisp could bolt on that would allow neat things to be experienced? A couple of web applications that could promote its name? Little tools that could be linked into the framework or apps that people could use immediately like a blogger or display for pictures for those who don't use things like drupal or flickr or can take personal stored material and quickly make it go to those places with automagic logins and uploads? Just some thoughts. Terry -- read my mind at:
Re: PicoLisp is DEAD (Was: PicoLisp and its (lack of) libraries)
I never came up with that DEAD headline and have no idea who did and don't agree with it. Let's take Clojure as an example again, no one in their right mind would think that that language would have the adoption it has if it wasn't based on Java with easy interoperability to get at all that legacy Java code. Having read the whole discussion so far maybe what is needed is a simple REST web framework that can be easy to get up and running in order to garner more interest. That combined with some kind of general distributed database for the new cloudy times! On Thu, Jan 26, 2012 at 3:06 AM, Meadowlark technology meadowlarkt...@tiscali.co.uk wrote: * A message from one of the silent * I have just used Picolisp (PL) to write a tiny application that generates web sites from xml files. It was great fun, and I use it in my business. I am profoundly impressed with the power of the language. I agree that picolisp can he hard to follow when you look at coding examples, and more documentation is always good, but take a look at this if you struggle: http://rosettacode.org/wiki/Category:Programming_Tasks It is a list of typical programming tasks and how to solve them in a range of languages. Surprisingly picolisp code solutions are numerous. More so than more mainstream languages. You might also note that the PL solutions are more succinct in most cases than other languages. Keep up the good work everyone. It is much appreciated. Regards Mark Stephens On Mon, 2012-01-23 at 11:25 +1100, Konrad Zielinski wrote: I have to disagree. Having a framework comes later. There are two things that work against picolisp. 1. Lack of floating point numbers. Yes I know its a design decision and yes I know its not likely to change. But it is a lack that does put a lot of potential users off in the first five minutes, even if the problem they are trying to solve right now does not neat flaoting point numbers. 2. Lack of documentation. The langauge reference is terse and hard to understand. Meanwhile what tutorials do exist only cover a small faction of the langage. THis leaves it dificult to work out how most of the language needs to be used. In particular the list manipulation primites are just not adaquatly covered anywhere. This is the big one in my opinion. And having good documentation is very much part of what made languages like Python and Ruby take off in the first place. Python started life as a teching language so it had doccumentation from the begining. This is about as far as I end up getting every time I have a foray into using picoLisp. I love the language in theory, but Just can't do anything with it in practice. Often I work at odd moments without an internet connection and getting to the I can't find any way to do X problem is likely to end with I'll do it in python, rather then a post to mailing list. 3. Having a home grown database, rather then a clean binding to various SQL backends is likewise problametic. For a commerical point of view I would never be willing to recommend such a setup as it would expose me to too much Risk. Eventually data loss will occure. and If you are the one who chose this unproven technology without wide industry acceptence you are the one who will get all the blame. regs Konrad On Mon, Jan 23, 2012 at 8:33 AM, Terry Palfrey terrypalfrey...@gmail.com wrote: On Sun, Jan 22, 2012 at 5:42 AM, Jakob Eriksson ja...@aurorasystems.eu wrote: Don't confuse the silence of the majority for consent, one way or another, it's like politics. The most vocal proponents of any standpoint, are not likely to represent any majority. And I haven't even touched on the possibility that the majority can be wrong. Right or wrong or correct or useful is not decided in a popularity contest. In a world where all is (1's) and (0's) making the machine bow to your vision is a complex undertaking. You can use remote robotic constructions which are simply abstracted abstractions of a belief system or you can work more closely to what you are thinking of having happen. It doesn't matter what the world thinks or what the experts declare but it often has something to do with ego, bias and money. Lisp as written about across the net and through interviews and books comes with a guarantee, it is smaller code, faster development and more direct expression and now computing power has caught up but mindset lags. PicoLisp is old, but PicoLisp in a sense is very new - in the area where I personally see most potential (embedded in embedded hardware and embedded in programs), it has had a proprietary friendly license only since 2010. On the server it gained a 64 bit port only in 2009 and for reference and research a Java version 2010. Super easy library calling also came with the 64 bit version. Perhaps a look at what Perl, Ruby, Python et al did to become popular
Re: PicoLisp is DEAD (Was: PicoLisp and its (lack of) libraries)
After many merry rounds of compilation and discovery, it seems that the ndk-build's compiler -falign-functions[=n] and friends align functions relative to this option, but off by one (+1, or is that just |1?).;-) In pico.h, sadly, I besmirched the code thusly, #ifdef ANDROID_ARM // android arm seems to have weird off-by-one alignment #define FUNCT2LISP_ALIGN(f) ((f)-1) // hopefully optimise to #define LISP2FUNCT_ALIGN(f) ((f)+1) // a single inc ... #else #define FUNCT2LISP_ALIGN(f) (f) #define LISP2FUNCT_ALIGN(f) (f) #endif #define evSubr(f,x) (*(fun)( LISP2FUNCT_ALIGN( num(f) ) ~2 ) )(x) so in boxSubr in main.c, if (num(FUNCT2LISP_ALIGN(f)) 3) giveup(Unaligned Function); return (any)(num(FUNCT2LISP_ALIGN(f)) | 2); (Er, I bet I missed some places, need to check.) And then to talk with java I used the miniPicoLisp string-based library mods mentioned earlier, with a little jni C glue to hold it together. Cheers, Doug --- On Mon, 1/23/12, Jakob Eriksson ja...@aurorasystems.eu wrote: From: Jakob Eriksson ja...@aurorasystems.eu Subject: Re: PicoLisp is DEAD (Was: PicoLisp and its (lack of) libraries) To: picolisp@software-lab.de Date: Monday, January 23, 2012, 11:47 PM On January 24, 2012 at 7:49 AM Doug Snead semaphore_2...@yahoo.com wrote: I have a (slightly hacked) version of miniPicoLisp running as an android native library as a proof of concept. No no additional java interpretation penalty. Wow, this is interesting! My thought is that now I have a new tool - a way to make picolisp and pilog (prolog) work in android, but will do the UI in java like most android apps. That is how I plan to use (mini)PicoLisp in my program too. But miniPicoLisp is pure, and easier to port. Indeed, and for me the most interesting right now. best regards, Jakob -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: PicoLisp is DEAD (Was: PicoLisp and its (lack of) libraries)
Hi Doug, After many merry rounds of compilation and discovery, it seems that the ndk-build's compiler -falign-functions[=n] and friends align functions relative to this option, but off by one (+1, or is that just |1?).;-) Weird indeed. Can't believe ;-) In pico.h, sadly, I besmirched the code thusly, #ifdef ANDROID_ARM // android arm seems to have weird off-by-one alignment #define FUNCT2LISP_ALIGN(f) ((f)-1) // hopefully optimise to #define LISP2FUNCT_ALIGN(f) ((f)+1) // a single inc ... #else #define FUNCT2LISP_ALIGN(f) (f) #define LISP2FUNCT_ALIGN(f) (f) #endif #define evSubr(f,x) (*(fun)( LISP2FUNCT_ALIGN( num(f) ) ~2 ) )(x) so in boxSubr in main.c, if (num(FUNCT2LISP_ALIGN(f)) 3) giveup(Unaligned Function); return (any)(num(FUNCT2LISP_ALIGN(f)) | 2); (Er, I bet I missed some places, need to check.) Yes. Looks good. I would say taking care of boxSubr() and evSubr() are enough. Explanation for other readers: The bit fiddling is necessary because MiniPicoLisp depends on having bit zero of a cell's CDR pointer free, to use it as the GC mark bit. In mini/doc/structures we see Primary data types: num xx10 ... and sym sym || VV +-+-++-+-+ | | | val || txt | val | +--+--+-++-+-+ 'val' is assumed to _always_ have a zero in the least significant bit, as this is used as the GC mark bit. Decrementing the function pointer with FUNCT2LISP_ALIGN has that effect. Without it, the first call to the garbage collector would crash the interpreter, as all built-in functions would be dumped. Cheers, - Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: PicoLisp is DEAD (Was: PicoLisp and its (lack of) libraries)
On January 23, 2012 at 2:02 PM Jon Kleiser jon.klei...@usit.uio.no wrote: I like having the possibility to make use of Java solutions (e.g. the Swing GUI) from Ersatz PicoLisp, but please don't tell anyone that it allows you to integrate with any legacy system before we have done any such integration at all! Feel free to give us an example. ;-) I have not. I meant, that this is a possible direction to get more jobs. I have until now ignored the state of the art with regards to the Java flavor of PicoLisp, but when reading about your job peril, I take more interest in it, since I have found that the Java word opens doors. In this case it actually is a blessing that that Java is such an ambiguous word - is it Java? Yes, it runs on the Java runtime. Check. Do we really want to sell PicoLisp that way? Why not? Really, marketing is about getting attention. Attention span is short. I think they will be glad to discover that PicoLisp is so much more than just a Java appendage like so many other languages. What a happy surprise if Groovy, Clojure, Ceylon, Coldfusion, Joy, and Scala all had standalone runtimes independent of any JVM! But PicoLisp does! How quickly do you think you could get an Ersatz PicoLisp based Android app out? And how would that dev. time compare to what it would take to write a similar app in plain old Java? Again - I did not mean to misrepresent anything. That would take me some time, for sure. But I would imagine if A. Burger made one app like that, the second would be way faster. Possibly it would not even entail a recompile... :-) If Ersatz PicoLisp should be fit for writing the stuff that you're thinking of, then I think you would need some way to extend existing Java classes, and override existing methods. I don't think this is possible today. Please inform me if I'm wrong. I don't know these things... but it could gain those capabilities, nothing in PicoLisp inherently stops it. Or add PicoLisp to the list of languages supported by ASE: http://code.google.com/p/android-scripting/ I am trying to brainstorm ways for people (Burger) to make a living with PicoLisp as a tool. best regards, Jakob -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: PicoLisp is DEAD (Was: PicoLisp and its (lack of) libraries)
Hi again, There were two functions in the Image_Noise example that I should have known better: 'javac' and 'task'. Now I've found both of them in picoLisp/ersatz/lib.l, along with a bunch of other functions that I'm sure would be nice to know. It shouldn't be too hard to figure out what some of them are meant to do, but for quite a few of them it could be useful (for me) with a line or two of explanation. I understand that I cannot call myself a PicoLisp or Ersatz expert unless I know these functions. ;-) /Jon On Mon, 23 Jan 2012 16:39:38 +0100, Jon Kleiser jon.klei...@usit.uio.no wrote: Hi Alex, Hi Jon, thinking of, then I think you would need some way to extend existing Java classes, and override existing methods. I don't think this is possible today. Please inform me if I'm wrong. Well, yes and no ;-) After all, why (again) re-invent the wheel, if all necessary mechanisms of Java are there already? I guess I must have overlooked something ... ;-) ErsatzLisp comes with a mechanism to call native inline Java, much the same way as the other PicoLisp versions do with inline C. This is done via the 'javac' function. An example can be found in http://rosettacode.org/wiki/Image_Noise#PicoLisp Cheers, - Alex I see! I wasn't aware of that powerful 'javac' function. Maybe you should mention it here: http://picolisp.com/5000/!wiki?ErsatzReflection Thanks for this very useful info! I'll start using it quite soon. /Jon -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: PicoLisp is DEAD (Was: PicoLisp and its (lack of) libraries)
--- On Mon, 1/23/12, Jakob Eriksson ja...@aurorasystems.eu wrote: The Java version opens up the path to Android jobs - and I have an impression that those are still a kind of Wild West. I have a (slightly hacked) version of miniPicoLisp running as an android native library as a proof of concept. No no additional java interpretation penalty. The C-compiler (gcc?) for the ARM processor used in android ndk-build has odd ideas about function alignment that gave me a hard time until I saw what was happening. My thought is that now I have a new tool - a way to make picolisp and pilog (prolog) work in android, but will do the UI in java like most android apps. Not sure if porting the full PicoLisp to androig ndk jni would be easier or harder then the Cygwin port, say. The Cygwin port wasn't difficult ... until we discovered the Many Joys of Win32 file locking. But miniPicoLisp is pure, and easier to port. :-) -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: PicoLisp is DEAD (Was: PicoLisp and its (lack of) libraries)
I have to agree with Alex here. This language has its place and is very useful in that place. I am currently doing embedded in C, and have no choice about what to use. But I have to say, I in very much in favor of the succinctness of PicoLisp and its ability to link with any library. If someone, Henrik, wants to use something else that is great, if you, Henrik, want to enhance PicoLisp with distributed databases, that would be great, too. I don't find any problems with PicoLisp, for what it is intended. Keep going Alex! And Happy Birthday! -- Rand On Sun, Jan 22, 2012, at 08:42 AM, Alexander Burger wrote: OK, I understand. The language is not useful or usable, and the Community (I count 70 members in this list) is silent. -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: PicoLisp is DEAD (Was: PicoLisp and its (lack of) libraries)
No it is not dead to me. At least I do not want it dead. But in online communities the1-9-90 rule applies: 1% is the major contributors 9% are contributing from time to time 90% are mostly silent (like me) With 70 people on the list the numbers seem appropriate. FWIW, I like PicoLisp the way it is, small and with lack of libraries. On Sunday, January 22, 2012, Alexander Burger a...@software-lab.de wrote: OK, I understand. The language is not useful or usable, and the Community (I count 70 members in this list) is silent. -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe -- http://gr.linkedin.com/in/yiorgos
Re: PicoLisp is DEAD (Was: PicoLisp and its (lack of) libraries)
Hello. I am new to PL. I come from trying out lots of library paradises where you need to load 100MB of background noise into RAM to print 'hello world' on the screen. My aim is to learn and use lisp for smart small data base driven applications within a little browser window. Yesterday I started with the excellent App Tutorial by Alexander Burger and had 2 terminal windows open, one with w3m - it works :-) And I was able to scroll through all the libs and .l files and with a little effort follow what was going on and why it was happening. Man, was I happy. Not sure if this helps - but I wanted to avoid to be 'silent' ;-) By the way, anyone using PL for graphDB similar tasks? Best, Rudy On Sun, Jan 22, 2012 at 8:42 AM, Alexander Burger a...@software-lab.dewrote: OK, I understand. The language is not useful or usable, and the Community (I count 70 members in this list) is silent.
Re: PicoLisp is DEAD (Was: PicoLisp and its (lack of) libraries)
Am 22.01.2012 08:42, schrieb Alexander Burger: OK, I understand. The language is not useful or usable, and the Community (I count 70 members in this list) is silent. Hi Alexander! Hm, for an April 1st joke it is too early!? Bad mood day due to ugly wet weather in upper bavaria? ;) Mailing list echo test on a sunday? :) Everyone has a low from time to time. Breaks help a lot. Had a walk with the raincoat today afternoon, what a great experience! And for Picolisp: After a long work-related hiatus, at xmas I finally found time again to work on my learn-something-and-get-back-something-useful side project. And I chose PL for tinkering, *because* it is not (over?)loaded like other lisp implementations (which can scare beginners because of their sheer size). Peter P.S.: If you really wanted to throw the towel, *please* consider putting the source on github or one of the other bigger SCM sites. But I'd like to see the project go on :) . P.P.S.: in the next few days, this email address will unsubscribe - spring cleaning/new years resolution to get rid of data leeches. The human behind the address will read on! -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: PicoLisp is DEAD (Was: PicoLisp and its (lack of) libraries)
You may count me as silent but very happy with PicoLisp! I use it mostly for automating tasks in Unix systems (particularly fun in small devices running Linux). J. On Sun, Jan 22, 2012 at 08:42:38AM +0100, Alexander Burger wrote: OK, I understand. The language is not useful or usable, and the Community (I count 70 members in this list) is silent. -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: PicoLisp is DEAD (Was: PicoLisp and its (lack of) libraries)
Alexander Burger schrieb: OK, I understand. The language is not useful or usable, and the Community (I count 70 members in this list) is silent. Oh oh ... Alex, your conclusion is not necessary true. If most are silent that has not to mean, they conclude with Henrik. At least me, if I do not like something, or I am feeling it is dead, I will unsubscribe. The lack of libraries may be a problem from time to time, but PicoLisp has also to offer a lot, like its DB with Pilog, its Web-Framework, its simplicity. Often people need a language that allow for quick and dirty development. So lacking a library could be a show-stopper for them, as they are not willing to spend time to develop what they need. They want to throw together basic components to build a new app they can use. Perhaps for them, PicoLisp is not an alternative. But if you want to develop a coherent, portable app, with storage backed up by a DB with an elegant query language (Pilog) that does not need much resources -- PicoLisp may count in! I am interested in PicoLisp as you know. I've tried to use it for my in-house project. Unfortunately I couldn't not, not cause by lacking any library, but as my co-workers do not know Lisp and are very reluctant to learn yet another language beside C++, Java and Ruby used for most of our tools. So this may be another reason -- PicoLisp is a Lisp. You know, that language with a lot of silly parentheses ... ;-) Anyway, happy new year and please keep up with your nice language. It is not mainstream, but it has its place!!! Ciao, chi. -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: PicoLisp is DEAD (Was: PicoLisp and its (lack of) libraries)
On Sun, 22 Jan 2012 22:58:19 -0200 Jeronimo Pellegrini j.pellegr...@randomnode.info wrote: You may count me as silent but very happy with PicoLisp! I use it mostly for automating tasks in Unix systems (particularly fun in small devices running Linux). J. On Sun, Jan 22, 2012 at 08:42:38AM +0100, Alexander Burger wrote: OK, I understand. The language is not useful or usable, and the Community (I count 70 members in this list) is silent. -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe That's most of my use case too, Picolisp is a great language for automation, it's simple I/O functions, with forks and pipes are just great for interacting with old school Unix tools. -- José -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
PicoLisp is DEAD (Was: PicoLisp and its (lack of) libraries)
OK, I understand. The language is not useful or usable, and the Community (I count 70 members in this list) is silent. -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe