Re: Some initial questions
Hi Thorsten, thank you to point the rosettacode examples out to me! I always knew about rosettacode but didn't check, that there are more helpful computing tasks in general than programming puzzles, as I thought. Cheers, Olaf Am 25.09.2013 14:45, schrieb Thorsten Jolitz: O.Hamanno.ham...@gmx.net writes: Hi, There is not much help found by searching google (stackoverflow and similar) for best practices or 'oneliner' But there is ,--- | http://de.scribd.com/doc/103733857/PicoLisp-by-Example `--- easily searchable online with 'C-f', i.e. in total some 700 or so PicoLisp solutions for a wide range of Computer Science problems, all written by the master (Alex ;) himself. -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: Some initial questions
Am 28.09.2013 11:34, schrieb Henrik Sarvell: I ended up adding everything I know of at the bottom of http://picolisp.com/5000/!wiki?Documentation I suppose the rosetta examples and the code repositories aren't strictly documentation but it felt like a better idea to put it on the documentation page than making a completely new page. It's good to have everything in one place. Yes, indeed! The nice articles (starting here: http://www.prodevtips.com/2008/03/28/pico-lisp/ ) are good for newcomers (as I am) to picolisp. I found them not before now by following the prodev-link - if you have just added that link, so feel 'blessed by a thankful user' :-) The pleac-link might be helpful for newbies, too. And not least the Repositories section guides one to some real projects implemented in picolisp - it's good to see some finished projects on the web. Thankful greetings, Olaf -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: Some initial questions
Luis P. Mendes wrote: I'll start reading the book Lisp by Winston/Horn. So did I when I came to Lisp. And I remember a very nice interactive tutorial (basics of Lisp in general), looked similar to this, perhaps is the same: http://art2.ph-freiburg.de/art/login-e.html It's available in english, covers the Lisp basics in few lessons and offers interactive excercises with explanations. It's fun, too! Might be interesting, which of the examples/exercises would give the same / different results in picolisp. Picolisp is different from standard lisp, as it's said somewhere else in the pl docs. Now it's time to start learning! Enjoy, Olaf -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: Some initial questions
2013/9/29 O.Hamann o.ham...@gmx.net: And I remember a very nice interactive tutorial (basics of Lisp in general), looked similar to this, perhaps is the same: http://art2.ph-freiburg.de/art/login-e.html It's available in english, covers the Lisp basics in few lessons and offers interactive excercises with explanations. It's fun, too! Thank you for your help Olaf! Right now I'm doing some exercises in the site: http://alarm.cti.depaul.edu/lisptutor/ but will take lessons from the site you mention as well. Luis -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: Some initial questions
I ended up adding everything I know of at the bottom of http://picolisp.com/5000/!wiki?Documentation I suppose the rosetta examples and the code repositories aren't strictly documentation but it felt like a better idea to put it on the documentation page than making a completely new page. It's good to have everything in one place. On Wed, Sep 25, 2013 at 9:20 PM, Henrik Sarvell hsarv...@gmail.com wrote: We should put up links to all resources on one single page on picolisp.com, I can do that this weekend if no one else does it first. On Wed, Sep 25, 2013 at 8:05 PM, Joe Bogner joebog...@gmail.com wrote: I remember finding this reference very helpful as well: http://pleac.sourceforge.net/pleac_picolisp/index.html These quick guides have been cropping up lately on my news feeds - http://learnxinyminutes.com/ . Is anyone interested in doing one for PicoLisp? It's been on my maybe-someday list for awhile. Here is common lisp and elisp versions: http://learnxinyminutes.com/docs/common-lisp/ http://learnxinyminutes.com/docs/elisp/ On Wed, Sep 25, 2013 at 8:45 AM, Thorsten Jolitz tjol...@gmail.com wrote: O.Hamann o.ham...@gmx.net writes: Hi, There is not much help found by searching google (stackoverflow and similar) for best practices or 'oneliner' But there is ,--- | http://de.scribd.com/doc/103733857/PicoLisp-by-Example `--- easily searchable online with 'C-f', i.e. in total some 700 or so PicoLisp solutions for a wide range of Computer Science problems, all written by the master (Alex ;) himself. I don't think many non-mainstream languages offer such a huge pool of examples written on expert level and easily searchable online or in a local pdf. And of course there is ,-- | http://de.scribd.com/doc/103732688/PicoLisp-Works `-- too, another easy to search ressource with almost all documents written about PicoLisp until 2012. Have fun ... -- cheers, Thorsten -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: Some initial questions
Hi Luis, I've built a proof of concept PicoLisp apk and ran it on a Droid X and my kindle fire. I wrote about it here: http://www.mail-archive.com/picolisp@software-lab.de/msg03114.html I was able to build the entire apk using terminal ide on my android (no android SDK). I'm happy to answer any questions about it. I didn't take it any farther than this. I don't know if it would pass Play Store policy or not. Joe On Thu, Sep 26, 2013 at 7:15 PM, Luis P. Mendes luisl...@gmail.com wrote: Thank you all for your messages! Henrik: It's good to know that database speed is compared to major RDBMs. PicoLisp having an integrated database is a big plus for the language. Alex: Thank you for providing the community such a powerful language that for sure has many many hours of hard work. As you say, the ones that come to PicoLisp are the ones who do the effort to find a programming language. As everything else in life, either people are satisfied with propaganda that others try to push, or people choose to find their own ways. I'm glad I'm between people who have the latter attitude. Enough of philosophy, I'll just ask you something more, since my searches in google were not conclusive. I've seen this: http://picolisp.com/5000/!wiki?AndroidWebServer and http://www.mail-archive.com/picolisp@software-lab.de/msg03081.html [-] Will .apk android applications be supported by PicoLisp in the future? Olaf: Nice to hear that you're also starting with PicoLisp. As recommended in the PicoLisp Reference, I'll start reading the book Lisp by Winston/Horn. Thorsten and Joe: Thank you for the links! Now it's time to start learning! Luis -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: Some initial questions
Hi Louis, I've also just started exploring Picolisp for some of the reasons you mentioned. Hopefully we can exchange our impressions here after some time. Me too did find my way to picolisp not from the embedded C world but from interpreter languages. I already had a little 'lispish' experience (XLisp, Emacs-Lisp). (Don't bother about the parantheses, tools will manage that, you won't have to count :-) ). The picolisp tutorial does not cover lisp basics, so you have to get them from elsewhere. Lisp is old - so there should be a lot to find :-) But always remember: picolisp is different (!) from Lisp or Scheme. So one coming freshly from a general lisp introduction might get stucked right in the beginning of his picolisp adventure only of different behaviour of QUOTE( and '( or so. And don't count on the 'segmentation faults' when trying picolisp. They are caused by user (newbies mostly like I am :-) ),they're no picolisp system failure (certain reason for not handling them by exception is mentioned in the mail archive somewhere). But in the beginning I felt very annoying about them (for us guys coming from interpreter languages with clear error messages :-) ). For the seg fault reason I do not follow the tutorial way of editing the code inside the picolisp system (edit 'symbol) but use a seperate editor, switching between it and the shell with running picolisp and do (load source.l) from inside picolisp after each code change. That works fine for me and saves the all code over the segmentation faults I came across. picolisp is more close to the machine, I think. And that's what you are looking for: simpleness. With picolisp you may have the chance to understand everything, what's going on under the hood - so it's promised by the papers, one can find on www.picolisp.com. There is not much help found by searching google (stackoverflow and similar) for best practices or 'oneliner', but the IRC channel is a huge dwell of picolisp knowledge and responses immediately most of the times (exactly 'all the times' is my experience, but I don't want to set the kind under pressure :-) ). And the mailing list archive will answer questions too. There are not as much libraries as other interpreter languages offer, but it exists a simple way to integrate a C library in the project code and call the lib function from inside picolisp (look rosetta code example and the paper on picolisp.com) - if that mechanism really is that simple and is to get managed by non-C-Hackers, then this will mean a huge ressource of libraries to a picolisp programmer for the rest of programming life time. (I did not try that for the moment, as I am no C programmer at all and don't know where to fetch the libraries) At the moment I try to move my personal money account history tool to picolisp. Done so far with several emacs org-babel-, bash shell- and awk- scripts I aim to have the same functionality with better handling (webgui) and fewer tools. First I did the picolisp tutorial up to chapter databases then entered the IRC channel :-) Now I'm short before getting really pleasure whith picolisp as its near to the moment where written code will behave as expected ; -) (and segmentation faults are rarely taken place :-) ) I'm just at the surface of using picolisp, but working with it already really feels very clear, straight, efficient and understandable (= changeable) to me. Olaf -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: Some initial questions
O.Hamann o.ham...@gmx.net writes: Hi, There is not much help found by searching google (stackoverflow and similar) for best practices or 'oneliner' But there is ,--- | http://de.scribd.com/doc/103733857/PicoLisp-by-Example `--- easily searchable online with 'C-f', i.e. in total some 700 or so PicoLisp solutions for a wide range of Computer Science problems, all written by the master (Alex ;) himself. I don't think many non-mainstream languages offer such a huge pool of examples written on expert level and easily searchable online or in a local pdf. And of course there is ,-- | http://de.scribd.com/doc/103732688/PicoLisp-Works `-- too, another easy to search ressource with almost all documents written about PicoLisp until 2012. Have fun ... -- cheers, Thorsten -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: Some initial questions
I remember finding this reference very helpful as well: http://pleac.sourceforge.net/pleac_picolisp/index.html These quick guides have been cropping up lately on my news feeds - http://learnxinyminutes.com/ . Is anyone interested in doing one for PicoLisp? It's been on my maybe-someday list for awhile. Here is common lisp and elisp versions: http://learnxinyminutes.com/docs/common-lisp/ http://learnxinyminutes.com/docs/elisp/ On Wed, Sep 25, 2013 at 8:45 AM, Thorsten Jolitz tjol...@gmail.com wrote: O.Hamann o.ham...@gmx.net writes: Hi, There is not much help found by searching google (stackoverflow and similar) for best practices or 'oneliner' But there is ,--- | http://de.scribd.com/doc/103733857/PicoLisp-by-Example `--- easily searchable online with 'C-f', i.e. in total some 700 or so PicoLisp solutions for a wide range of Computer Science problems, all written by the master (Alex ;) himself. I don't think many non-mainstream languages offer such a huge pool of examples written on expert level and easily searchable online or in a local pdf. And of course there is ,-- | http://de.scribd.com/doc/103732688/PicoLisp-Works `-- too, another easy to search ressource with almost all documents written about PicoLisp until 2012. Have fun ... -- cheers, Thorsten -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Some initial questions
Hi, I'm writing for this list hoping to get some good insights on what I'm going to say. I started with BASIC for Timex 2068/ZX Spectrum, then learned Pascal. Had a lot of years when my programming was only some Access databases and Excel macros. After these 'gray' years, I became interested very much in programming again and learned Python. More recently, I began projects in C and C++. C++ is a very complex language that I really dislike, although I'm implementing my PhD research on it (about clustering), because of speed of execution. I like somehow C, because it's simpler and one can know what to expect, even though I didn't have my graduation or other studies in Computer Science or related fields. And C is fast! On the other hand, Python is slow at run time. I began to like very much, but the absence of (optional) static typing gave me some problems trying to find bugs at runtime. I also need programming for my job, although it's not exclusively a programming job, many times I program in PHP, add some SQL and Bash. I've heard of Lisp, but it always felt as not a serious thing, with slow execution and aimed at smaller scripts or compiled programs. These were my perceptions until recently. Going from Lisp to Scheme, to Rebol, to Red Lang, reading a lot, I came across PicoLisp and 'fell in love' with what is promised by the language. It's pratical... So, right now, I'm at 41 years old, striving for simpleness, and I'm looking for a programming language that I can adopt (hopefully) through the rest of my life, maybe also to a career change aiming at working at consultation in management/IT/decision-aid applications. This is my context. I'd appreciate some enlightenment on some topics. Please consider that I haven't learned Lisp yet! I keep reading that execution speed is not very important. Well, it certainly depends on the subject. Computers are quicker nowadays but the quantity of data is increasing at also an increasing rate. So, for example, when considering a time series with 100 000 elements, what is the magnitude of slowness that I can expect from PicoLisp compared to C++? 20x? And what about if the number of elements grow by a factor of ten, can I expect the time to increase less than, 10x or more than 10 times the previous? This can be the difference between getting a small break and check results after some minutes or to have to leave some computation running all night. And about memory consumption compared to the benchmark C++? I've read that PicoLisp has simplified structure representations in memory, but I'd like to know some rough number about it. Another question is about the integrated database. I use PostGresSQL and MySQL to handle my data. In MySQL, there are tables with +10 million rows, others with +10^4 only. The idea to have an integrated database is excellent, but at what speed? How much slower than those two databases? Can the fields be indexed somehow? Continuing with the integrated database, is it possible to build 'queries' of several joins and unions using Pilog? Now regarding PicoLisp and C++ integration. I'd like to build a project in some language (hope not to have to use C++) that uses a POSIX C++ API in the financial arena. I've seen several examples of PicoLisp 'talking' to C and it's said that C and C++ share the same protocol (ABI?). Is it possible to build a PicoLisp program that uses that C++ API (probably full of objects and complexities) for input and output? Can I learn from examples given in PicoLisp documentation, or is it needed some CS degree to be able to decipher the process? In C, C++, I can access data structures via pointers for great speed. I guess I can achieve the same in PicoLisp somehow, is is right so? (remember I haven't get my feet wet in Lisp yet). Now, for the two last questions: It's said that normally PicoLisp will find some type errors during run time at an early stage. But since I got burnt with Python in the past, I'd like to know if there are tests available or easily programmable to force some variables to only accept values of some type. With lint? Since PicoLisp is interpreted and since the original author Alexander Burger builds and sells himself applications for clients, isn't there an issue that the code is given as is to those clients? Or is there some JIT code that can be build that hides somehow the code from the users? If you got down here, thank you for reading my long message. Luis -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: Some initial questions
Hi Luis. You've got a lot of info on http://picolisp.com/5000/!wiki?home Also be sure to check out the app subfolder/example in the picolisp download. PicoLisp is under the MIT/X11 license, see the download page: http://software-lab.de/down.html and as far as I know there is no way of obfuscating. As far as type errors are concerned you just have to think differently, I've never felt that lack of type checking is a problem in any of the dynamic languages I've used over the years. As for C/C++ interop you have C example here: https://bitbucket.org/hsarvell/ext/src/eba0a8bc045d9034985d64f945c62ed77349a921/so/pcre.c?at=default which is used here: https://bitbucket.org/hsarvell/macropis/src/6531dcef6fb5093f63665b94555ea7c6460b1f79/simple-web-app/modules/Blog.l?at=default Database speed is comparable to for instance MySQL because you can easily use indexing in various ways in your E/R. See this example where a database of 10k asian women (fictional unfortunately) is being queried in a few milliseconds: http://www.prodevtips.com/2008/12/02/my-barcamp-phuket-presentation-prolog-as-a-dating-aid/ On Tue, Sep 24, 2013 at 5:17 PM, Luis P. Mendes luisl...@gmail.com wrote: Hi, I'm writing for this list hoping to get some good insights on what I'm going to say. I started with BASIC for Timex 2068/ZX Spectrum, then learned Pascal. Had a lot of years when my programming was only some Access databases and Excel macros. After these 'gray' years, I became interested very much in programming again and learned Python. More recently, I began projects in C and C++. C++ is a very complex language that I really dislike, although I'm implementing my PhD research on it (about clustering), because of speed of execution. I like somehow C, because it's simpler and one can know what to expect, even though I didn't have my graduation or other studies in Computer Science or related fields. And C is fast! On the other hand, Python is slow at run time. I began to like very much, but the absence of (optional) static typing gave me some problems trying to find bugs at runtime. I also need programming for my job, although it's not exclusively a programming job, many times I program in PHP, add some SQL and Bash. I've heard of Lisp, but it always felt as not a serious thing, with slow execution and aimed at smaller scripts or compiled programs. These were my perceptions until recently. Going from Lisp to Scheme, to Rebol, to Red Lang, reading a lot, I came across PicoLisp and 'fell in love' with what is promised by the language. It's pratical... So, right now, I'm at 41 years old, striving for simpleness, and I'm looking for a programming language that I can adopt (hopefully) through the rest of my life, maybe also to a career change aiming at working at consultation in management/IT/decision-aid applications. This is my context. I'd appreciate some enlightenment on some topics. Please consider that I haven't learned Lisp yet! I keep reading that execution speed is not very important. Well, it certainly depends on the subject. Computers are quicker nowadays but the quantity of data is increasing at also an increasing rate. So, for example, when considering a time series with 100 000 elements, what is the magnitude of slowness that I can expect from PicoLisp compared to C++? 20x? And what about if the number of elements grow by a factor of ten, can I expect the time to increase less than, 10x or more than 10 times the previous? This can be the difference between getting a small break and check results after some minutes or to have to leave some computation running all night. And about memory consumption compared to the benchmark C++? I've read that PicoLisp has simplified structure representations in memory, but I'd like to know some rough number about it. Another question is about the integrated database. I use PostGresSQL and MySQL to handle my data. In MySQL, there are tables with +10 million rows, others with +10^4 only. The idea to have an integrated database is excellent, but at what speed? How much slower than those two databases? Can the fields be indexed somehow? Continuing with the integrated database, is it possible to build 'queries' of several joins and unions using Pilog? Now regarding PicoLisp and C++ integration. I'd like to build a project in some language (hope not to have to use C++) that uses a POSIX C++ API in the financial arena. I've seen several examples of PicoLisp 'talking' to C and it's said that C and C++ share the same protocol (ABI?). Is it possible to build a PicoLisp program that uses that C++ API (probably full of objects and complexities) for input and output? Can I learn from examples given in PicoLisp documentation, or is it needed some CS degree to be able to decipher the process? In C, C++, I can access data structures via pointers for great speed. I guess I can achieve the same in PicoLisp somehow, is is