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 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 -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe