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

Reply via email to