Re: Future of PicoLisp?

2017-02-03 Thread Bruno Franco
As for ubuntu, maybe you could make a Personal Package Archive (PPA). Its lets you make your own packages that can be downloaded by users using apt-get. Its as easy as downloading the normal packages, but the user must manually add the repository. Here's a useful link:

Subscribe

2016-11-25 Thread Bruno Franco
Suscribe

Re: The order of arguments in diff

2016-11-28 Thread Bruno Franco
Thanks Alex. So, a better description of diff might be "Returns all the elements in the first argument that are not in the second argument"? On Sun, Nov 27, 2016 at 2:45 AM, Alexander Burger <a...@software-lab.de> wrote: > On Sat, Nov 26, 2016 at 09:05:44PM -0500, Bruno

The order of arguments in diff

2016-11-26 Thread Bruno Franco
I was trying out the diff function and I noticed something: : (diff '(1 2 3 4) '(3 4)) -> (1 2) but : (diff '(3 4) '(1 2 3 4)) -> NIL I think this means that there is an order to the arguments of diff, where the second argument must be the shortest. I wanted to ask if this was correct, and

Re: Why print statement should determine whether I get an error or

2016-12-08 Thread Bruno Franco
Hey Dean, I think that, in general, you want to quote a sym argument to a function when you want to change the value of that symbol. For example: : (setq A 1) # Set the value of A to 1 -> 1 : (inc A) # Evaluate A, *then* pass the result to inc -> 2 : A -> 1 : (inc 'A) #

Re: T accidentally redefined to NIL

2016-12-10 Thread Bruno Franco
as > Parameter in a function. > > 2016-12-09 5:51 GMT+01:00 Bruno Franco <brunofrancosala...@gmail.com>: > >> My my, I see it! Thanks Alex. >> >> On Thu, Dec 8, 2016 at 1:50 AM, Alexander Burger <a...@software-lab.de> >> wrote: >> >>

Re: help with list of capital letters as symbol property key

2016-12-14 Thread Bruno Franco
@Alex I'm surprised that (pick '((A B) (and (= A Value) B)) ListA ListB) is faster than (get ListB (index Value ListA)). It's true that get traverses ListB right after a traversal of ListA, but pick seems to do the same traversal of the same number of elements. The only difference is that pick

Loosing elements in a sorted list

2016-12-14 Thread Bruno Franco
Hi list, I have a problem. Whenever I sort a list stored in a symbol, some elements are erased from the original list. Look: : (setq A (3 2 5 4 1 1 1 1 0 1 2 4 5 )) -> (3 2 5 4 1 1 1 1 0 1 2 4 5) : (sort A) -> (0 1 1 1 1 1 2 2 3 4 4 5 5) : A -> (3 4 4 5 5) The pattern that I've noticed is that

Re: T accidentally redefined to NIL

2016-12-08 Thread Bruno Franco
My my, I see it! Thanks Alex. On Thu, Dec 8, 2016 at 1:50 AM, Alexander Burger wrote: > Hi Bruno, > > > I've written something that redefines T to NIL, which surprises me > > because I thought that T was protected from redefinition like that, and > > I have not found a

Re: Incomplete documentation on 'need'

2016-12-03 Thread Bruno Franco
rom my personal experience the documentation is > rather > > terse and changes happen not that often. > > > > Also (doc 'need) does state what it does do. Read the last two lines > `second > > form`. It is very unclear and i hope Regenaxer takes a look and clarifies > >

Incomplete documentation on 'need'

2016-12-03 Thread Bruno Franco
I just wanted to point out that (doc 'need) for version 15.11.0 seems to miss something. It defines the possible arguments of need as: (need 'cnt ['lst ['any]]) But it doesn't say what the function does with 'any, or how it affects the result. I also wanted to ask if this kind of topic was

Re: The order of arguments in diff

2016-11-29 Thread Bruno Franco
Wao, the next release?! Thank you! I'm really glad my question could help that much. I'm looking forward to it! On Tue, Nov 29, 2016 at 1:18 AM, Alexander Burger <a...@software-lab.de> wrote: > On Mon, Nov 28, 2016 at 01:35:30PM -0500, Bruno Franco wrote: > > So, a better desc

Copy A to B, so that no change in A affects B

2016-12-04 Thread Bruno Franco
I'm trying to copy a list A in a way that changing the lists inside A don't affect B. I've tried using 'copy, like this: : (setq A '((1 2 3) (4 5 6))) -> ((1 2 3) (4 5 6)) : (setq B (copy A)) -> ((1 2 3) (4 5 6)) And it works at the top level: #changing B doesn't change A : (set B 1) -> 1 : B ->

Re: Vip Editor

2017-01-02 Thread Bruno Franco
Downloaded and Installed! Thanks Alex! On Mon, Jan 2, 2017 at 2:29 AM, Alexander Burger wrote: > Hi all, > > here is an article about Vip, the Vi-Style Editor in PicoLisp: > >http://picolisp.com/wiki/?vip > > It consists of only 990 lines of code. > > Not that the

Re: matching a simple string variable

2017-01-02 Thread Bruno Franco
I think you're right on what's the problem. Chopping the varstring creates a list of characters, ("C" "I" "T" "Y"), and the final list would look like '(@A ("C" "I" "T" "Y") @B), which does not match '(@A "C" "I" "T" "Y" @B) above. If you want (match '(@A (chop varstring) @B) description) to

Re: Functional Arguments

2016-12-28 Thread Bruno Franco
Thanks Alex. I didn't know about picolisp's tolerance for nested symbols. Is there a reason you chose this? Like, it lets you write some cool code, or it makes the language more robust? On Tue, Dec 27, 2016 at 10:15 AM, Alexander Burger wrote: > Hi all, > > while talking

Re: Date query question

2016-12-28 Thread Bruno Franco
This is a tangent on your conversation, but... Alex, that graph looks so cool. Did you do it by hand or did you use some juicy picolisp program that I can get my hands on? On Wed, Dec 28, 2016 at 5:45 AM, Alexander Burger wrote: > On Wed, Dec 28, 2016 at 10:26:22AM +0100,

Re: What is the difference between set and setq?

2016-12-30 Thread Bruno Franco
eneral function. On Wed, Dec 28, 2016 at 4:35 PM, Bruno Franco <brunofrancosala...@gmail.com> wrote: > >The same meaning of "eq" (or "quick") have functions like 'delete' / > 'delq', > >'assoc' / 'asoq', 'case' / 'casq' or 'push1' / 'push1q'. > > Thank yo

Re: Date query question

2016-12-29 Thread Bruno Franco
Hi Alex. A picolisp clone of VI? That sounds awesome! Please do write the article for the wiki. Also, where do I find the source code? On Thu, Dec 29, 2016 at 2:31 AM, Alexander Burger <a...@software-lab.de> wrote: > On Wed, Dec 28, 2016 at 07:47:13PM -0500, Bruno Fra

Re: Advice on learning the picolisp asm?

2017-01-02 Thread Bruno Franco
binary(assembly code) becomes invalid. > > You misunderstood the question. > > > > On Sat, Dec 31, 2016 at 12:28:06AM -0500, Bruno Franco wrote: > > > > I don't really know any asm, but since the asm code for the picolisp > > > > functions is just a (vi '

Re: qurious quoting

2017-01-02 Thread Bruno Franco
ok, so " ' " is a read macro which expands to a list with the symbol quote as car. I still don't understand how it gets translated into a different printed result, but that is probably because, as you said, I just have not drawn enough memory cell diagrams. I'll keep practising until I get it.

Re: What is the difference between set and setq?

2016-12-28 Thread Bruno Franco
>The same meaning of "eq" (or "quick") have functions like 'delete' / 'delq', >'assoc' / 'asoq', 'case' / 'casq' or 'push1' / 'push1q'. Thank you Alex, that was exactly my next question. On Tue, Dec 27, 2016 at 9:20 AM, Erik Gustafson wrote: > It is the *function*

Re: What is the difference between set and setq?

2016-12-26 Thread Bruno Franco
Thank you so much Erik! I especially like that you said WHY setq is named like that. Its been bugging me for weeks! On Mon, Dec 26, 2016 at 10:25 PM, Erik Gustafson wrote: > Hahaha I read your post quickly and then wrote a possibly overkill answer. > > I deduce that

What is the difference between set and setq?

2016-12-26 Thread Bruno Franco
I know that they're used to bind a variable to a value, and that they do behave differently, but I don't understand the principle behind their difference, and I can't predict how they will behave differently from each other. >From this little piece: : (set B 1) !? (set B 1) NIL -- Protected

Re: What is the difference between set and setq?

2016-12-26 Thread Bruno Franco
This might be a nice thing to add to the documentation too, since the function definitions don't mention it. Maybe something like: "Its only difference with set is that setq does not evaluate its first argument" On Mon, Dec 26, 2016 at 11:26 PM, Bruno Franco <brunofrancosala...@gmai

T accidentally redefined to NIL

2016-12-07 Thread Bruno Franco
I've written something that redefines T to NIL, which surprises me because I thought that T was protected from redefinition like that, and I have not found a command in the code that looks like it is redefining T. Could you check it out and see if its something in the code, or a bug in the

Re: Loosing elements in a sorted list

2016-12-16 Thread Bruno Franco
to understand > Am 17.12.2016 03:53 schrieb "John Duncan" <duncan.j...@gmail.com>: > >> If they become unreachable, they will be collected. >> >> On Fri, Dec 16, 2016 at 1:28 PM, Bruno Franco < >> brunofrancosala...@gmail.com> wrote: >> >>>

How to pass arguments to a script from the terminal?

2017-03-21 Thread Bruno Franco
I want to write a simple script that would accept names from the command line and print then, like this: $ ./script alice bob Hello alice and bob I know that once picolisp has the names I would just use 'print', but how do I pass the names?

Re: How to pass arguments to a script from the terminal?

2017-03-21 Thread Bruno Franco
Got it. Thanks! On Tue, Mar 21, 2017 at 1:56 PM, Alexander Burger wrote: > On Tue, Mar 21, 2017 at 10:35:34AM -0700, Lindsay John Lawrence wrote: > > http://software-lab.de/doc/refA.html#argv > > Or use 'opt' > > (while (opt) >(println @) ) > (bye) > -- > UNSUBSCRIBE:

Re: Role of 'wait' in a parallel program

2017-03-15 Thread Bruno Franco
I see, 'later' itself sets up *Run. Thanks Alex On Wed, Mar 15, 2017 at 1:21 AM, Alexander Burger wrote: > Hi Bruno, > > > Joh-Tob's question got me curious about parallel code in picolisp. I've > > studied the example of 'later' in the documentation and I have an idea of

Is there documentation for the libraries in @lib/ ?

2017-04-01 Thread Bruno Franco
I can find the documentation for the default functions, and for the form functions, but how about libraries like pilog.l or http.l?

Re: Evaluation misstep in tag function

2017-04-05 Thread Bruno Franco
Ah, I see! So, its for convenience that the atoms are printed. And the reason `(+ 1 1) was printed was that it was first evaluated to 2, *then* passed to , who only ever saw the atom 2. Thanks Alex. On Wed, Apr 5, 2017 at 1:36 AM, Alexander Burger wrote: > Hi Bruno, > > >

Re: Is there documentation for the libraries in @lib/ ?

2017-04-08 Thread Bruno Franco
entation as in an explanation of every code > block in that file but this is probably helpful: > https://software-lab.de/doc/select.html > > > > On Sun, Apr 2, 2017 at 7:16 AM, Joh-Tob Schäg <johtob...@gmail.com> wrote: > >> Yes you can not find any documentation

Re: Unclear licensing

2017-03-13 Thread Bruno Franco
I think that what Christopher means is that adding a licence makes the developer's wishes clear. When you put a permissible licence its obvious you don't care what people do with the code, but if there's no licence at all it *could* mean you don't care, or it *could* mean you do care but just

Evaluation misstep in tag function

2017-04-04 Thread Bruno Franco
Hi list, I'm going through the picolisp application development tutorial ( http://software-lab.de/doc/app.html#tags) and I'm trying this piece of code at the tags section: : ( 'main ( NIL "Head") ( NIL ( "Line 1") "Line" () (+ 1 1) ) ) Head Line 1 Line 2 the

Re: Error running vip

2017-05-18 Thread Bruno Franco
Yes! Its working. Thanks Alex. I hadn't realized my version was so old because the version listed in the download page is 16.12.8. I'll check the current verison list from now on. On Thu, May 18, 2017 at 3:32 AM, Alexander Burger wrote: > Hi Bruno, > > > Looking at the

Error running vip

2017-05-18 Thread Bruno Franco
Hi list, I just downloaded the latest version of vip (06may17), but when I try to run it, it returns an error and enters the picolisp cli: ~> vip [/home/bruno/bin/vip:5] !? (*CmdWin *Flat *Chr *Complete *Repeat *Change *Count *Cnt *Search *Clip) *CmdWin -- Undefined ? ⏎ Looking at the source,

Re: single letters

2017-06-23 Thread Bruno Franco
Hi Alex, Geo. Ok, so the lower-case upper-case testing and mapping is actually encoded into these lists, and the function charType takes the character number in unicode, modifies it, and uses that as an index in the lists to get that information. No lookup in a special file. Thanks for correcting

Penti keyboard doesn't seem to recognize more than two inputs

2017-05-30 Thread Bruno Franco
Alex's explanation of his workflow got me exited, so I've downloaded the Penti keyboard. I installed it and set it up as the default keyboard, and it runs! Penti is written in big letters on the screen, but when I tap my 5 fingers to start it the shadows only appear under two of the fingers, and

Re: single letters

2017-06-18 Thread Bruno Franco
On the subject of low? and upp?, how does picolisp know if a character is upper or lower case? Is there a list of all upper and lower case characters built in to the interpreter, and the character is checked against that list? Or is casing information is built into unicode? On Sat, Jun 17, 2017

Re: single letters

2017-06-18 Thread Bruno Franco
Hi Geo! Thanks a lot for the info! I did a google search and it turns out Unicode does come with several text files that create mappings between letters of different cases. The most important one is UnicodeData.txt. It has the one to one mappings between lower and upper case. Though my quick

Re: Penti keyboard doesn't seem to recognize more than two inputs

2017-05-31 Thread Bruno Franco
Hi Alex. > does "multitouch" just mean more than one finger? Apparently yes. I just downloaded an app to test the maximum multitouch input and it is, indeed, two. I'll go to my vendor and see if I can get my phone exchanged for one that can at least get up to 5. Thanks for the quick response!

[no subject]

2017-08-25 Thread Bruno Franco
Hi list, I'm writing a script that shows a person a math expression (like "2 + 3") waits for an answer, then returns if its right or wrong. What I want though, is for it to wait something like 3 seconds and, if there is no input, assume the user doesn't know and return "WRONG". I thought of

Re: your mail

2017-08-26 Thread Bruno Franco
That is just what I needed! thanks alex On Sat, Aug 26, 2017 at 12:32 AM, Alexander Burger wrote: > Hi Bruno, > > > I'm writing a script that shows a person a math expression (like "2 + 3") > > waits for an answer, then returns if its right or wrong. > > What I want

Re: A query in Pilog

2018-07-02 Thread Bruno Franco
and need. > *Von:* brunofrancosala...@gmail.com > *Gesendet:* 2. Juli 2018 5:46 vorm. > *An:* picolisp@software-lab.de > *Antworten:* picolisp@software-lab.de > *Betreff:* Re: A query in Pilog > > OH, I just realized how! > > (? (loves Mark @X) (woman @X)) > > It se

Re: A query in Pilog

2018-07-01 Thread Bruno Franco
Yeah! that is exactly right! All this time I had tried to use the "?" function like this: (? ((loves Mark @X) (woman @X))) But it returned NIL. So, when you search for a variable that can satisfy more than one predicate, you make a list of predicates (call it PList) and pass it as argument to

Re: A query in Pilog

2018-07-01 Thread Bruno Franco
OH, I just realized how! (? (loves Mark @X) (woman @X)) It seems obvious in hindsight XD On Sun, Jul 1, 2018 at 10:37 PM Bruno Franco wrote: > Yeah! that is exactly right! > > All this time I had tried to use the "?" function like this: > (? ((loves Mark @X) (woman @X)))

Re: Reminder on Wiki survey

2018-07-01 Thread Bruno Franco
done, voted On Sat, Jun 30, 2018 at 9:44 AM Joe Golden wrote: > Hey! Vote! It's simple and painless ;-) > > On Sat, Jun 30, 2018 at 04:01:50PM +0200, Manuel Cano wrote: > >Hi, > > > >Hey! Vote! I've did it some days ago. > > > > > >Kind regards, > >Manu > > > >2018-06-30 14:10 GMT+02:00 Arie

Re: Pilog unification of a nested predicate

2018-07-02 Thread Bruno Franco
@X @Z)) part, and since that's what is used to unify the query, the query must have that same "(vertical line ..." structure. But that's just a guess. If there is some deeper meaning I would be happy to know :D On Mon, Jul 2, 2018 at 11:23 PM Bruno Franco wrote: > The prolog saga contin

Re: Pilog unification of a nested predicate

2018-07-02 Thread Bruno Franco
; the name of the sym (vertical) gets consed into the (line (point @X @Y) > (point @X @Z)) part, > and since that's what is used to unify the query, > the query must have that same "(vertical line ..." structure. > > But that's just a guess. If there is some deeper meaning

A query in Pilog

2018-07-01 Thread Bruno Franco
I'm going through the "Learn Prolog Now!" ebook and I ran into this query: ?- loves(marsellus,X), woman(X). And I can't figure out how to do it in pilog. Is there a function that can test multiple queries at once, like or/2 does? thanks

Re: Pilog unification of a nested predicate

2018-07-03 Thread Bruno Franco
Oh, I see! Thanks! On Tue, Jul 3, 2018 at 1:45 PM Alexander Burger wrote: > Hi Bruno, > > > (be vertical (line (point @X @Y) (point @X @Z))) > > (be horizontal (line (point @X @Y) (point @Z @Y))) > > > > and the query: > > (? (vertical line (point 1 2) (point 1 3))) > > Yes, OK, but then I

What parts of picolisp did you have the most trouble understanding?

2018-07-30 Thread Bruno Franco
three questions: 1) what parts of picolisp have you had trouble understanding? Which clashed with your previous experience as a programmer? 2) What features of picolisp are you using right now? Did you learn something interesting while using them that you would like others to know? 3) is there a

p :- p. in pilog

2018-07-09 Thread Bruno Franco
there is this rule in prolog: p :- p. That is infinitely recursive. If you query the database for ?- p. It gets thrown into an infinite loop. I've tried to recreate that in pilog, with no success. : (be p (() p)) How can you write p :- p. in pilog, so that it does the infinite loop that I

Re: p :- p. in pilog

2018-07-10 Thread Bruno Franco
Thanks Alex, it worked exactly On Tue, Jul 10, 2018, 00:46 Alexander Burger wrote: > Hi Bruno, > > > there is this rule in prolog: > > p :- p. > > That is infinitely recursive. If you query the database for > > ... > > How can you write p :- p. in pilog, so that it does the infinite loop > that

Re: A few questions from a confused lisper

2018-07-12 Thread Bruno Franco
Well, for the conditional exit in the iterators (for, do, and loop), I would do something like this: (use Y (for X (1 2 3 4 5) (setq Y (mumble-mumble X)) (NIL Y (println "this does not work")) ) ) Though I'm not sure that is the most elegant way to go XD. As for the local

Re: A few questions from a confused lisper

2018-07-12 Thread Bruno Franco
actually, you could just put the function (mumble-mumble X) in the place of Y: (for X (1 2 3 4 5) (NIL (mumble-mumble X) (println "this does not work")) ) On Thu, Jul 12, 2018 at 9:27 PM Bruno Franco wrote: > Well, for the conditional exit in the iterators (for, do, a

Re: Pilog unification of a nested predicate

2018-07-03 Thread Bruno Franco
12:21:13AM -0500, Bruno Franco wrote: > > I had too many parentheses in the query. > > > > The correct form is: > > (? (vertical line (point 1 2) (point 1 3))) > > No, this does not look right. We can't tell much unless we know all your > definitions. > > —

What are the runtime tools?

2019-03-22 Thread Bruno Franco
What are they?

Re: why is there no setf in picolisp?

2019-07-04 Thread Bruno Franco
all right, thanks! On Thu, Jun 27, 2019 at 12:27 PM wrote: > So, reading Alex’s comments and also the definition of the “joke” `setf` > here: > > On Thu, 27 Jun 2019 10:29 -04:00, Mike wrote: > > https://github.com/picolisp/picolisp/blob/dev/misc/setf.l > > > informs me that the answer to

why is there no setf in picolisp?

2019-06-26 Thread Bruno Franco
Soo, yeah. I'm studying common lisp, and coming from picolisp setf confused me at first. The concept does not seem to appear on picolisp, and I wondered why its not there. The only reference I could find was this: https://www.mail-archive.com/picolisp@software-lab.de/msg03604.html it mentions

Interning symbols in lib/simul.l

2020-04-11 Thread Bruno Franco
I'm studying lib/sumul.l, specifically the 'grid function. I understand how it works now, but I have two doubts: 1) why are symbols in the grid interned? 2) what does the F in FX and FY stand for? here's the code for reference: (de grid (DX DY FX FY) (let Grid (make (for X DX

Re: Interning symbols in lib/simul.l

2020-04-12 Thread Bruno Franco
thank you! On Sun, Apr 12, 2020 at 2:01 AM Mike wrote: > > I'm studying lib/sumul.l, specifically the 'grid function. > > In my repo you would find a lot of usage examples for grid: > https://git.envs.net/mpech/tankf33der/ > > (mike) > > -- > UNSUBSCRIBE:

Re: PilCon 2020

2020-04-23 Thread Bruno Franco
I am interested too in an online conference. Its the only way I could attend anyways. And saving it up for playback on youtube interests me. On Thu, Apr 23, 2020 at 1:58 AM O.Hamann wrote: > Timely, short, clear communication, thank you for that, Alex. > > > I do not really have any real

vip send select lines to command window

2020-08-30 Thread Bruno Franco
In vip, if I have a file like: _ # file with a single line of code (prin "print me on the command window") ___ is there a way to select the line with the code and send it to the command window for execution, like slime for emacs?

Re: vip send select lines to command window

2020-08-31 Thread Bruno Franco
thanks alex! It works perfectly On Mon, Aug 31, 2020, 01:12 Alexander Burger wrote: > Hi Bruno, > > > In vip, if I have a file like: > > _ > > # file with a single line of code > > (prin "print me on the command window") > > ___ > > > > is there a way to

Re: Fridays for Functions (Was: PilCon 2020)

2020-07-02 Thread Bruno Franco
Unfortunately, 8 UTC is too early for me XD, I'll have to wait for the 16 UTC meeting On Thu, Jul 2, 2020 at 12:06 PM C K Kashyap wrote: > I can't wait :) > > On Thu, Jul 2, 2020 at 9:46 AM Alexander Burger > wrote: > >> On Thu, Jul 02, 2020 at 09:28:09AM -0700, C K Kashyap wrote: >> > Just to

how to compile pil20 on termux

2020-11-22 Thread Bruno Franco
since it does not come as a termux package anymore, can I compile it on my phone?