Re: Questions about EmuLisp

2016-01-03 Thread Alexander Burger
Hi Christophe, > These are primarily questions for Alex, but I'm interested > in the answers of other people too. I'm afraid that I don't have useful answers, but I try ... > 1) What do you think of EmuLisp? I like the fact that it is written in JS, but I don't know its limitations. > 2)

Re: Questions about EmuLisp

2016-01-02 Thread Henrik Sarvell
Hi Christophe. AFAIK ClojureScript is pretty much feature complete as opposed to Emu, there's a risk for confusion and perhaps bad PR if an online REPL based on Emu becomes the de facto way of playing around with PL for novices, ie "Why can't I do X which the manual seems to imply?!!" or "This

RE: questions about the gui

2015-11-21 Thread Denis Fourt
there is no problem (as long as there are not too many users), but with two or more? Or do my network programming memories need a refresh?  Denis > From: johtob...@gmail.com > To: picolisp@software-lab.de > Subject: Re: questions about the gui > Date:

Re: questions about the gui

2015-11-21 Thread Alexander Burger
Hi Denis, in addition to what Joh-Tob said, let me correct some issues about 'app'. > b) I understand that calling the (app) function allows multiple users to > access > an application at the same time, which makes web apps and collaborative > software > possible What (app) really does is

Re: questions about the gui

2015-11-21 Thread Joh-Tob Schäg
o my network programming memories need a refresh? > > Denis > > > From: johtob...@gmail.com > > To: picolisp@software-lab.de > > Subject: Re: questions about the gui > > Date: Sat, 21 Nov 2015 08:51:43 +0100 > > > > >

Re: questions about the gui

2015-11-20 Thread Joh-Tob Schäg
Hello, It is a local shell that connects to a local webserver. It can be used for webdevelopment, you can expect variables and so on. (app) open a new process with a new port. So each process and each single user linked to it can has a own state. The user can connects to his new port. Does it

Re: Questions

2009-05-14 Thread Kriangkrai Soatthiyanont
Hi Alex, Only when an object is accessed (value, property list etc.), it is automatically loaded into the Lisp heap as an external symbol. And once loaded, they can be garbage collected when needed, right? The current database files are in a binary format (called PLIO for PicoLisp I/O).

Re: Questions

2009-05-13 Thread Alexander Burger
Hi Henrik, When you have a database of several hundred GB, have you used the ability to split it up? If so why and how, what considerations went into the splitting decision? Yes, split up in several types of application that communicate with each other, where each application has its own DB

Re: Questions

2009-05-12 Thread Alexander Burger
Hi Kriangkrai, Ah, Thanks. Could you please explain how a double value is encoded in cell? I could not decipher doubleToNum() and numToDouble() in big.c! As PicoLisp only handles scaled fixed point numbers, the double is encoded as a number, with the additional scale passed to the functions.

Re: Questions

2009-05-12 Thread Tomas Hlavaty
Hi Kriangkrai, A tutorial on PicoLisp FFI would be great; with that, PicoLisp would have no shortage of libraries! ;-) not exactly a tutorial, but I have looked into this a while ago and you can find a prototype ffi generator at http://logand.com/mplisp/src/mod/ It should be fairly

Re: Questions

2009-05-12 Thread Tomas Hlavaty
Hi Kriangkrai, Because with (@ attr1 val1 ...), you can retrive the attributes by just using (assoc '@ sxml). Is there any advantage of using your syntax @attr1 val1 ...? advantage is that you don't have to put the attributes in a list manually, your 'with-xml' function can do that for you;-)

Re: Questions

2009-05-11 Thread Alexander Burger
Hi Kriangkrai, Is there a way, to make the code below works, the first time 'foo' is defined? : foo - NIL : (mydefs (+ 1 (foo 3 4))) # should returns 20 As I said, not without modification of the low-level error handler. Execution is not continued after the error is caught, as the 'catch'

Re: Questions

2009-05-11 Thread Kriangkrai Soatthiyanont
Hi Alex, As I said, not without modification of the low-level error handler. Execution is not continued after the error is caught, as the 'catch' is in 'mydefs' and not on the lowest level. Why would you need that? It will enable code like this: (with-xml (tag1 (@ attr1 val1)

Re: Questions

2009-05-11 Thread Alexander Burger
Hi Kriangkrai, Also, floating point calculations are better done separately (there are C functions for that) Do you mean using FFI, i.e. calling C functions from Lisp? If so, how? Could you give me an example for calling C's double sin(double x) in math.h. Please take a look in

Re: Questions

2009-05-11 Thread Tomas Hlavaty
Hi Kriangkrai, (with-xml (tag1 (@ attr1 val1) text (tag2 text) text )) If you go this route, why not something like: (with-xml (tag1 @attr1 val1 text (tag2 text) text ) ) Also, if you don't manage to hook your error handler to

Re: Questions

2009-05-11 Thread Kriangkrai Soatthiyanont
Hi Tomas, =A0 =A0(with-xml =A0 =A0 =A0 (tag1 (@ attr1 val1) =A0 =A0 =A0 =A0 =A0text =A0 =A0 =A0 =A0 =A0(tag2 text) =A0 =A0 =A0 =A0 =A0text )) If you go this route, why not something like: (with-xml =A0 (tag1 @attr1 val1 =A0 =A0 =A0text =A0 =A0 =A0(tag2 text) =A0 =A0 =A0text ) )

Re: Questions

2009-05-11 Thread Kriangkrai Soatthiyanont
Hi Alex, Please take a look in src/ext.c. There is, for example, 'ext:Sin', that interfaces to scaled integers: =A0 : (ext:Sin 314159 10) =A0 - 0 =A0 : (ext:Cos 314159 10) =A0 - -10 Ah, Thanks. Could you please explain how a double value is encoded in cell? I could not

Re: Questions

2009-05-09 Thread Alexander Burger
Hi Kriangkrai, 1. What is the purpose of calling (wait) after (server 8080 ...)? It will wait for what? What is the differences if (wait) is not called? In this case (when called without any arguments), 'wait' will wait for an infinite time (see also doc/refW.html#wait). The purpose is to

Re: Questions

2009-05-09 Thread Kriangkrai Soatthiyanont
Hi Alex, 1. What is the purpose of calling (wait) after (server 8080 ...)? It will wait for what? What is the differences if (wait) is not called? In this case (when called without any arguments), 'wait' will wait for an infinite time (see also doc/refW.html#wait). The purpose is to inhibit