unsubscribe

2020-05-23 Thread Lawrence Bottorff
unsubscribe


Re: Graph database

2020-03-25 Thread Lawrence Bottorff
I'm afraid at my level of CS theory I don't really know what is meant by a
picolisp atom being persistent, much less across distributed picolisp
instances. Could someone give me a concrete example of what you describe
as: "Any named bag of items automatically represents a (directed,
undirected) graph. The name then is the node, the items in the bag then
there represent the edges." I do understand the tree structure of a lisp
program. But that doesn't make it a graph database. When I tried to fathom
the Picolisp "graph database" example, I was quickly confused. The GUI
actually added confusion, AFAIC. I'm guessing from what I could
ausknobeln from example that the Picolisp version of a CLOS object is a
vertex, and the inheritance of that object from other (higher, more
general?) objects is a sort of edge. Correct me if I'm wrong. But then
there was talk of "records." Is creating a record the same as creating an
object instance -- and this record/object is a vertex? Where, what are the
edges?

Don't get me wrong, I have long felt that Lisp -- with its parsing actually
visible in the code you write -- is or could be very graphDB-friendly;
however, Lisp is functional, i.e., you write functions. And even though
they are set up as a graph-like tree in nested lists form, they are not in
themselves data in the traditional sense, rather, code meant to take you
from a domain/input to a range/result. This is not a "record" (or graph
vertex?) creation/query/deletion paradigm.

But this relates to a long-standing question I've had about software
libraries. As it stands, they may be auto-indexed for our viewing pleasure,
but they aren't in any real database form so that you might simply have
your program "query-and-plug-in" a library. (Although I've heard Haskell's
hlint almost writes your code for you!) No, you have to find the module,
plug it in yourself. The whole "code is data", therefore, doesn't seem to
get past the higher-order function trick of passing in a function as an
argument. What more is there to "code is data?" In Fortran the data was in
fact parked just below the code.

At some point I'm just scared and rambling on

On Wed, Mar 25, 2020 at 7:12 AM Guido Stepken  wrote:

> Lawrence, you haven't yet understood, that any Lisp, by default, is it's
> own Graph Database. Especially Picolisp, where Alex has made any Picolisp
> Atom persistent and even distributed across other Picolisp instances. 'Data
> is code, code is data'.
>
> Any named bag of items automatically represents a (directed, undirected)
> graph. The name then is the node, the items in the bag then there represent
> the edges. Even Picolisp sources you can consider a (directed) graph, often
> also called 'syntax tree'.
>
> If you like, you can put, group all "edges" with same properties into a
> new, searchable bag of edges for fast lookup. Since it's all lazy evaluated
> (even the persistent nodes), as Alex already pointed out, it's still ultra
> fast. And since in Picolisp everything can be persisted distributed,
> Picolisp automatically represents a distributed graph database (with
> sharding and everything) which you can build, implement on your own with
> just a few lines of code. It's a no-brainer!
>
> Picolisp is a genius strike, but most people can't see the forest for all
> the trees.
>
> Have fun!
>
> Regards, Guido Stepken
>
> P.S. Keep away from Windows and other viruses!
>
> Am Donnerstag, 12. März 2020 schrieb Lawrence Bottorff  >:
>
>> I take it the picolisp graph database follows more the Neo4j property
>> graph idea than any RDF/OWL triples, correct? That seems obvious, but I
>> thought I'd check. I haven't dived in deep, buy you seem to use Lisp
>> objects to create a vertex. But then what are the edges? Again, I'm just
>> getting started.
>>
>> LB
>> Grand Marais, MN, Oberer See
>>
>


Re: Graph database

2020-03-13 Thread Lawrence Bottorff
Could you point me to a beginner's treatment of this topic, especially an
example of a graph database, and what exactly a picolisp pointer is?

I'm afraid I don't even know what you mean by a pointer in this context. I
know from C what a pointer is, but a picolisp pointer is beyond my
comprehension.

On Fri, Mar 13, 2020 at 3:28 PM Alexander Burger 
wrote:

> Hi Lawrence,
>
> > I take it the picolisp graph database follows more the Neo4j property
> graph
> > idea than any RDF/OWL triples, correct? That seems obvious, but I thought
> > I'd check. I haven't dived in deep, buy you seem to use Lisp objects to
> > create a vertex. But then what are the edges? Again, I'm just getting
> > started.
>
> Sorry, I know absolutely nothing about Neo4j or RDF/OWL, but the edges are
> in
> fact trivial.
>
> As everything in PicoLisp is a pointer (except short numbers), the edges
> are
> indeed just pointers to other symbols. All those symbols in a DB (called
> "external symbols") are loaded lazily on demand.
>
> ☺/ A!ex
>
>
>
>
> --
> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
>


Graph database

2020-03-12 Thread Lawrence Bottorff
I take it the picolisp graph database follows more the Neo4j property graph
idea than any RDF/OWL triples, correct? That seems obvious, but I thought
I'd check. I haven't dived in deep, buy you seem to use Lisp objects to
create a vertex. But then what are the edges? Again, I'm just getting
started.

LB
Grand Marais, MN, Oberer See


unsubscribe

2019-09-13 Thread Lawrence Bottorff
unsubscribe


Setup for Emacs org-mode?

2019-06-06 Thread Lawrence Bottorff
Anyone have the definitive setup they could share for picolisp on Emacs
org-mode? There seems to be two picolisp-modes, and org-mode babel needs
the "run-picolisp" inferior mode set, etc.

LB


Subscribe

2019-06-05 Thread Lawrence Bottorff
subscribe


unsubscribe

2018-06-11 Thread Lawrence Bottorff
unsubscribe


Re: Emacs mode can't run pil

2018-03-03 Thread Lawrence Bottorff
 . . . yes, sessions
make perfect sense, but I thought sessions was an advanced feature for only
some of the "elite" languages, i.e., so many of the babel languages don't
support sessions. Still, I should have known to try. . .

Now, why would trying to run picolisp (org-mode or picolisp-mode) from an
Emacs started with emacsclient -c -a '' from my Gnome taskbar not work? It
gives the error in my Messages:

executing Picolisp code block...
executing Picolisp source code block
(New file)
Wrote /home/hercynian/.pil/editor
apply: Searching for program: No such file or directory, pil

and it writes `editor-orig` to ~/.pil, which I must then rm. I can only get
a REPL when I start Emacs from my command line, i.e.,

>emacs &

LB


On Sat, Mar 3, 2018 at 9:40 AM, Thorsten Jolitz <tjol...@gmail.com> wrote:

> Lawrence Bottorff <borg...@gmail.com>
> writes:
>
> Hi Lawrence,
> [just for the protocoll, I send you the identical answer on the
> org-mode mailing list already].
>
> > I'm looking at picolisp -- and wondering how it works, or better, why it
> > doesn't really work work with babel. First problem, I couldn't get any
> > form of picolisp to work in Emacs -- until I stopped starting Emacs with
> > [...]
> > I don't mean to complain or sound negative, but picolisp as is can't
> > really be included as a babel language, can it? Maybe it worked once,
> > but doesn't now?
>
> sometimes the bug actually sits in front of the computer, as we all know
> ;-)
>
> Apparently you are not aware of the 'session' concept of org source
> blocks (please refer to the org manual).
> This is nothing specific to ob-picolisp, but holds for all ob languages
> that do allow for sessions:
>
> ,
> | * Picolisp scr-block test
> |
> | #+BEGIN_SRC picolisp  :session pil1
> |  (setq X1 (+ 3 4))
> | #+END_SRC
> |
> | #+results:
> | : 7
> |
> |
> | #+BEGIN_SRC picolisp  :session pil1
> | (setq X2 (+ X1 1))
> | #+END_SRC
> |
> | #+results:
> | : 8
> |
> |
> | #+BEGIN_SRC picolisp  :session pil1
> | (de foo1 (X) (+ X 2))
> | #+END_SRC
> |
> | #+results:
> | : foo1
> |
> | #+BEGIN_SRC picolisp  :session pil1 :results raw
> | (setq X3 (foo1 8))
> | #+END_SRC
> |
> | #+results:
> | 10
> `
>
> And, with a session, you do have a related interactive repl buffer in
> Emacs called "pil1", thats reflects all evaluations of the code blocks
> in the org file, and allows for user input just like the PicoLisp repl:
>
> ,
> | (setq X1 (+ 3 4))
> | 'org-babel-picolisp-eoe
> | : -> 7
> | : -> org-babel-picolisp-eoe
> | : (setq X2 (+ X1 1))
> | 'org-babel-picolisp-eoe
> | -> 8
> | : -> org-babel-picolisp-eoe
> | : (de foo1 (X) (+ X 2))
> | 'org-babel-picolisp-eoe
> | -> foo1
> | : -> org-babel-picolisp-eoe
> | : (setq X3 (foo1 8))
> | 'org-babel-picolisp-eoe
> | -> 10
> | : -> org-babel-picolisp-eoe
> | :
> `
>
> Hope that helps
>
> --
> cheers,
> Thorsten
>
>
> --
> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
>


Re: Emacs mode can't run pil

2018-02-23 Thread Lawrence Bottorff
Nothing new; I've tried all that. Yes, *some* of the examples in
https://github.com/tj64/ob-picolisp work. But again, the picolisp tutorial
example

#+BEGIN_SRC picolisp
# call the 'MD5' function from 'libcrypto.so'

(let Str "The quick brown fox jumped over the lazy dog's back"
   (pack
  (mapcar '((B) (pad 2 (hex B)))
 (native "libcrypto.so" "MD5"
'(B . 16) Str (length Str) '(NIL (16))
#+END_SRC

produces

executing Picolisp code block...
executing Picolisp source code block
Wrote /tmp/babel-11969YoC/ob-input-119693pA
org-babel-execute:picolisp: End of file during parsing

and a basic thing like this:

#+name: hello
#+begin_src picolisp
(de hello (X)
   (prinl "Hello " X) )
#+end_src

isn't working either. It also gives

executing Picolisp code block (hello)...
executing Picolisp source code block
Wrote /tmp/babel-8702vHu/ob-input-8702Ete
org-babel-execute:picolisp: End of file during parsing

Again, picolisp-mode is working (however it doesn't like who, what, more,
etc), but org-mode not so well. I'm sure it has something to do with
org-mode babel's picolisp not  being properly integrated with
picolisp-mode. In general, I bother with Emacs org-mode because I think a
sizeable percentage of Emacs users now live inside of org-mode.

On Thu, Feb 22, 2018 at 9:44 PM, Nehal <nehalsingha...@gmail.com> wrote:

> As far as picolisp running in Org mode is concerned:
>
>
> ** 1. I tried the following code in org babel and they show perfect
> results as shown in ob-picolisp-more-tests.org given on
> https://github.com/tj64/ob-picolisp.
>
> *** Example 1
>
> #+begin_src picolisp  :results value html
>(load  "@lib/http.l" "@lib/xhtml.l" "@lib/form.l")
>
>(html 0 "Hello" "@lib.css" NIL
>   ( NIL "Hello World!")
>   ( "This is some text.")
>   (ht:Prin "And this is a number: " (+ 1 2 3)) )
>  #+end_src
>
>#+RESULTS:
>#+BEGIN_HTML
>
>#+END_HTML
>
> *** Example 2
>
>  #+begin_src picolisp  :results value code
>'(a (b c d) (e (f (g) (h) (i)) (j (k) (l) (m))) (n o p) q)
>  #+end_src
>
>  #+RESULTS:
>  #+BEGIN_SRC picolisp
>  (a
> (b c d)
> (e
>(f (g) (h) (i))
>(j (k) (l) (m)) )
> (n o p)
> q )
>  #+END_SRC
>
>
>
> *** Example 3
>
>  #+begin_src picolisp  :results value pp
>'(a (b c d) (e (f (g) (h) (i)) (j (k) (l) (m))) (n o p) q)
>  #+end_src
>
>  #+RESULTS:
>  : (a
>  :(b c d)
>  :(e
>  :   (f (g) (h) (i))
>  :   (j (k) (l) (m)) )
>  :(n o p)
>  :q )
>
>
> ** 2. Try commenting out code (/picoLisp/lib/el) in your .emacs:
>
> ;; In order to get the picolisp-mode working correctly you have to
> ;; add the following expressions to your .emacs and adapt them
> ;; according to your set-up:
>
> ;; (add-to-list 'load-path "/opt/picoLisp/lib/el")
> ;; (load "tsm.el") ;; Picolisp TransientSymbolsMarkup (*Tsm)
> ;; (autoload 'run-picolisp "inferior-picolisp")
> ;; (autoload 'picolisp-mode "picolisp" "Major mode for editing
> ;;  Picolisp." t)
>
> ;; pil is more modern than plmod
>   ;;   (setq picolisp-program-name "/opt/picoLisp/pil")
>
> ;; If you have also SLIME installed, it will suck all possible lisp
> ;; extensions up.
> ;; So in order to get the correct file-association for picolisp
> ;; files you'll have to also add this:
>
> ;; (add-to-list 'auto-mode-alist '("\\.l$" . picolisp-mode))
>
> ;; If you want, you can add a few hooks for convenience:
>
>;;  (add-hook 'picolisp-mode-hook
>  ;;(lambda ()
>;;(paredit-mode +1) ;; Loads paredit mode automatically
>  ;;  (tsm-mode) ;; Enables TSM
> ;;   (define-key picolisp-mode-map (kbd "RET") 'newline-and-indent)
> ;;   (define-key picolisp-mode-map (kbd "C-h")
> 'paredit-backward-delete) ) )
>
> ;; By the way, don't forget to patch your paredit.el (v21) with the
> ;;  patch provided to get a smoother editing.
>
> ;;(add-hook 'lisp-mode-hook (lambda () (slime-mode t)))
> ;;(add-hook 'inferior-lisp-mode-hook (lambda () (inferior-slime-mode t)))
> ;;(slime) (slime-scratch)
>
> And having only:
>
> (org-babel-do-load-languages 'org-babel-load-languages
>  '( (emacs-lisp . t)
>(gnuplot . t)
>(lisp . t)
>(picolisp . t)
&g

Re: Emacs mode can't run pil

2018-02-22 Thread Lawrence Bottorff
I tracked it down to something totally bizarre: Starting emacs GUI (I'm on
Ubuntu + Gnome) from a task bar button with the command

emacsclient -c -a ''

(that's two single quotes)

was the problem, i.e., using the emacs daemon. However, changing the task
bar button to

emacs --daemon

then running

emacs &

from an open terminal "fixed" the problem. I spent hours tearing things out
of my init diaspora, doing emacs -q, then C-x-e-ing things back in, etc. I
have absolutely no idea why starting Emacs this way would make a
difference. I'm saying this fixed the problem with `run-picolisp` inside of
picolisp-mode. But still, org-mode picolisp is touchy. For example, one of
the tutorial examples:

(let Str "The quick brown fox jumped over the lazy dog's back"
   (pack
  (mapcar '((B) (pad 2 (hex B)))
 (native "libcrypto.so" "MD5"
'(B . 16) Str (length Str) '(NIL (16))

runs fine in a picolisp-mode started REPL, but not in an org-mode code
block like this:

#+BEGIN_SRC picolisp
# call the 'MD5' function from 'libcrypto.so'
(let Str "The quick brown fox jumped over the lazy dog's back"
   (pack
  (mapcar '((B) (pad 2 (hex B)))
 (native "libcrypto.so" "MD5"
'(B . 16) Str (length Str) '(NIL (16))
#+END_SRC

Running the above gives:

executing Picolisp code block...
executing Picolisp source code block
Wrote /tmp/babel-26285uqi/ob-input-26285Ue1
org-babel-execute:picolisp: End of file during parsing

and no result. Also, some of the examples in this
<https://github.com/tj64/ob-picolisp> aren't working properly, but then I'm
guessing it's more org-mode's having changed (tables, variable in source
block, etc.) since this was put together. Also, doing C-c C-c on an
org-mode code block doesn't seem to start a REPL as does, say, Racket. I'm
saying with Racket, any org-mode code block you may run immediately starts
a  Racket REPL "session" wherein, e.g., a function is then known  . . . but
this is not the case when you run a picolisp code block. I know Racket runs
in conjunction with Geiser-mode. I would think picolisp babel would run in
conjunction with picolisp-mode. . . .

 Basically, I'm concerned about org-mode more than regular
picolisp-mode+REPL because Emacs is evolving into an org-mode vehicle, AFAI
can tell. New people to picolisp who use Emacs will likely be org-moders
too.

LB

On Wed, Feb 21, 2018 at 9:50 PM, Nehal <nehalsingha...@gmail.com> wrote:

> Hi Lawrence,
>
> Check:
>
> 1. If pil is running correctly in shell from inside Emacs.
> 2. If you added Picolisp in .emacs file in
> (org-babel-do-load-languages 'org-babel-load-languages
>   '((picolisp . t)))
>
>
> On 2/21/18, Lawrence Bottorff <borg...@gmail.com> wrote:
> > I'm getting either
> >
> > Searching for program: No such file or directory, pil
> >
> > or
> >
> > File already exists: /home/hercynian/.pil/editor-orig
> >
> > whenever I try to do `run-picolisp` in Emacs. I've got pil correctly set
> > up:
> >
> >>which pil
> > /home/me/opt/picoLisp/pil
> >
> > and the command-line pil works fine
> >
> >>pil
> > : (version)
> > 18.2.3
> > -> (18 2 3)
> > :
> >
> > I've also spelled out to babel where pil is:
> >
> > Org Babel Picolisp Cmd: /home/me/opt/picoLisp/pil
> >
> > picolisp-mode starts up fine (using provided .el), but then it can't
> > evaluate, with similar errors above.
> >
> > L. Bottorff
> > Goshen, IN
> >
>
>
> --
> Warm Regards,
> Nehal Singhal
>
> --
> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
>


Emacs mode can't run pil

2018-02-21 Thread Lawrence Bottorff
I'm getting either

Searching for program: No such file or directory, pil

or

File already exists: /home/hercynian/.pil/editor-orig

whenever I try to do `run-picolisp` in Emacs. I've got pil correctly set up:

>which pil
/home/me/opt/picoLisp/pil

and the command-line pil works fine

>pil
: (version)
18.2.3
-> (18 2 3)
:

I've also spelled out to babel where pil is:

Org Babel Picolisp Cmd: /home/me/opt/picoLisp/pil

picolisp-mode starts up fine (using provided .el), but then it can't
evaluate, with similar errors above.

L. Bottorff
Goshen, IN


Subscribe

2018-02-21 Thread Lawrence Bottorff
subscribe


unsubscribe

2017-07-05 Thread Lawrence Bottorff
unsubscribe


Subscribe

2016-10-29 Thread Lawrence Bottorff



unsubscribe

2016-08-26 Thread Lawrence Bottorff
unsubscribe


Best way to learn picolisp

2016-06-08 Thread Lawrence Bottorff
So, what would the best way to learn picolisp be for a total beginner? It
might seem like you should just bite the bullet and learn regular Common
Lisp first, then start learning picolisp. That is, you should know all the
capabilities of Lisp before you try to learn a derivative Lisp. Is this
true?

LB


Two questions

2016-05-08 Thread Lawrence Bottorff
1. The new spiffy (flotte?) Website says just go ahead, Ubuntu users, and
do an apt-get install picolisp. Good, but is that a nice, recent version --
or would it be better to hand-install?

2. Does picolisp run on this little guy: http://vocore.io/ . . . In
general, what's picolisp's track record on all these tiny computers?

LB


picolisp and erlang in distributed/concurrent processing

2016-01-05 Thread Lawrence Bottorff
If Erlang is a perfect 10 (or not!) in the world of distributed,
concurrent, load-sharing networked interoperable (etc., etc.) software,
what does picolisp bring to the table? What can I do along these lines in
picolisp? Erlang allows a node to have thousands of "light' processes. How
does picolisp do this?

LB


Re: Emacs REPL not "full-featured"?

2016-01-02 Thread Lawrence Bottorff
Yes, I've got this going in my init (*and *the ELPA installed)

(add-to-list 'load-path "/home/hercynian/opt/picoLisp/lib/el")
(load "tsm.el") ;; Picolisp TransientSymbolsMarkup (*Tsm)
(autoload 'run-picolisp "inferior-picolisp")
(autoload 'picolisp-mode "picolisp" "Major mode for editing Picolisp." t)

Docs say to have tsm.el, but then I guess I need more advice on the optimal
Emacs config for picolisp. . . .

On Sat, Jan 2, 2016 at 10:43 AM, Alexis <flexibe...@gmail.com> wrote:

>
> Lawrence Bottorff <borg...@gmail.com> writes:
>
> I've got a REPL started in Emacs (called from ELPA version of picolisp
>> major mode with run-picolisp)
>>
>
> The only picolisp-mode i'm aware of that's on an ELPA is my picolisp-mode
> on MELPA:
>
> http://melpa.org/#/picolisp-mode
>
> As the documentation on that page notes, this mode is not related to the
> one bundled with PicoLisp[1]. In particular, it does not contain a command
> `run-picolisp` (such non-namespace-prefixed names are nowadays considered
> poor ELisp programming style). So it sounds like you're actually using the
> bundled-with-PicoLisp mode, not the mode available on MELPA, i.e. the
> former is loaded and shadowing the latter.
>
>
> Alexis.
>
> [1] For a discussion on why my package on MELPA still has the same name as
> the one bundled with PicoLisp, cf.
> https://github.com/milkypostman/melpa/issues/2514.
> --
> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
>


Emacs REPL not "full-featured"?

2015-12-31 Thread Lawrence Bottorff
I've got a REPL started in Emacs (called from ELPA version of picolisp
major mode with run-picolisp), but I'm noticing it doesn't have such
features as more, edit, what, etc. Starting picolisp from the command line
with pil is however "full-featured". What am I missing here?

LB


org mode picolisp?

2015-12-27 Thread Lawrence Bottorff
Anyone have any experience with org mode babel for picolisp? I've
supposedly got it set up (followed these

instructions),
but when I try to run this code

#+name: picolisp_ex1
#+begin_src picolisp
(de hello-one-arg2 (x)
   (prinl "Hello World again" x))
#+end_src

I get

org-babel-execute:picolisp: End of file during parsing. Then trying this
code

#+name: picolisp_ex1_test
#+begin_src picolisp
(hello-one-arg2 "me")
#+end_src

my *Messages* shows this

executing Picolisp code block (picolisp_ex1_test)...
executing Picolisp source code block
Wrote /tmp/babel-1871202D/ob-input-18712qhq
Babel evaluation exited with code 1

and the *Org-Babel Error Output* says

[/tmp/babel-1871202D/picolisp-script-18712dXk:1] !? (hello-one-arg2 "me")
hello-one-arg2 -- Undefined

This is with a picolisp REPL running or not. Again, picolisp is running
fine from the command line and from Emacs picolisp-mode (I've got the
latest ELPA version). I don't absolutely need org mode to proceed, but it
would be nice to clear this up maybe.

LB


Re: org mode picolisp?

2015-12-27 Thread Lawrence Bottorff
This

#+name: picolisp_ex1
#+begin_src picolisp
(de hello-one-arg2 (x)
   (prinl "Hello World again" x))

(hello-one-arg2 "me")
#+end_src

gives this:

executing Picolisp code block (picolisp_ex1)...
executing Picolisp source code block
Wrote /tmp/babel-14299D_V/ob-input-1429931W
Code block evaluation complete.

but no sensible result:

#+RESULTS: picolisp_ex1
: Hello

then trying to run this

#+name: picolisp_ex1_test
#+begin_src picolisp
(hello-one-arg2 "me")
#+end_src

still produces error as mentioned above. Curiously, a "Lisp expression:"
prompt appears in the minibuffer. Not sure where that came from. . . .

On Sun, Dec 27, 2015 at 8:46 PM, O.Hamann <o.ham...@gmx.net> wrote:

> What about calling definition and function call in one src block?
> If that works, then it might be that some org mode header arguments for
> signaling a session are missing.
>
> Start session in first block and join that session in second block.
>
> But first put both def and call into one block to see if that will work.
>
> Greetings, Olaf
>
> On 27.12.2015 18:09, Lawrence Bottorff wrote:
>
> (de hello-one-arg2 (x)
>(prinl "Hello World again" x))
>
>
>


Re: Install help

2015-12-26 Thread Lawrence Bottorff
I did

~/opt/picoLisp/src64$ ~/opt/picoLisp/pil +

and the REPL came up. No, I don't have the old Ubuntu installed. That might
have been another computer. So now I should do the soft links (mentioned in
the INSTALL) if I want to make it global, correct?


On Sat, Dec 26, 2015 at 4:59 PM, Alexander Burger 
wrote:

> Hi Larry,
>
> > I'm back again after a pause. Anyway, trying to install 15.11 but getting
> > confused. The INSTALL file says to
> >
> > $ (cd src64; make)
> >
> > Good. That worked fine on my Ubuntu 15.10. Now it's in ~/opt/picoLisp/
> and
> > the ~/opt/picoLisp/bin/ has picoLisp, pil, pilIndent, pilPretty, psh,
> > replica, watchdog as executables.
>
> Perfect! This means that you successfully compiled the PicoLisp
> executable.
>
> It must be that you have already installed a global PicoLisp from the
> Ubuntu distribution, so that al that "bootstrapping" stuff is not
> necessary. Once you have a picolisp running, it is used to build the new
> one.
>
>
> > pil doesn't work because it expects a
> > soft link to /usr/bin/picolisp. But ./picolisp works and gives me a REPL.
>
> "./picolisp" is not the recommended way. You should be in the installation
> directory (the one you executed (cd src64; make) from, and then do
>
>$ ./pil +
>
> or call
>
>$ ~/opt/picoLisp/pil +
>
> from any place.
>
> The point is to call 'pil' either with an absolute (like above) or a
> relative path (e.g. ../foo/bar/pil +), or with the default path in which
> case it resolves to /usr/bin/pil typically (i.e. the Ubuntu version in
> your case).
>
>
> > I'm assuming I'm not finished, right?
>
> No, you are :)
> ♪♫ Alex
> --
> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
>


Subscribe

2015-12-26 Thread Lawrence Bottorff
Subscribe


Install help

2015-12-26 Thread Lawrence Bottorff
Hello,

I'm back again after a pause. Anyway, trying to install 15.11 but getting
confused. The INSTALL file says to

$ (cd src64; make)

Good. That worked fine on my Ubuntu 15.10. Now it's in ~/opt/picoLisp/ and
the ~/opt/picoLisp/bin/ has picoLisp, pil, pilIndent, pilPretty, psh,
replica, watchdog as executables.  pil doesn't work because it expects a
soft link to /usr/bin/picolisp. But ./picolisp works and gives me a REPL.

But then the instructions say

To build the 64-bit version the first time (bootstrapping), you have the
   following three options:

   - If a Java runtime system (version 1.6 or higher) is installed, it will
 build right out of the box.

   - Otherwise, download one of the pre-generated "*.s" file packages

 - http://software-lab.de/arm64.linux.tgz
 - http://software-lab.de/x86-64.linux.tgz
 - http://software-lab.de/ppc64.linux.tgz
 - http://software-lab.de/x86-64.freeBsd.tgz
 - http://software-lab.de/x86-64.sunOs.tgz

   - Else, build a 32-bit version first, and use the resulting bin/picolisp
to
 generate the "*.s" files:

  $ (cd src; make)
  $ (cd src64; make x86-64.linux)

   After that, the 64-bit binary can be used to rebuild itself.


 . . not sure what any of that means or what I'm supposed to do with it.
I'm assuming I'm not finished, right?

Larry Bottorff


Unsubscribe

2015-07-08 Thread Lawrence Bottorff
Unsubscribe


Calm my fears please. . . .

2015-03-08 Thread Lawrence Bottorff
 . . because all the ML-derivative languages (Haskell, F#, Ocaml) say you
absolutely HAVE to have a strong type system in order to program with the
big boys and girls. Likewise, they talk reverently about functors and
monads. Does the Lisp world, specifically picoLisp, have a response to
these insistent Besserwisser people?

LB


Rosetta Code !!!

2015-02-19 Thread Lawrence Bottorff
Just saw the picoLisp contribution for picoLisp. Enormous! Who did all that
work?

LB


Re: Minimal home install

2015-02-18 Thread Lawrence Bottorff
Yes, ssh, non-root.

So what  would a minimum deployment install, i.e., I just want to have a
running repl with code loaded and able to receive commands/data/code  on,
say, a remote machine? I'm interested in picolisp partly because I would
find it fascinating to deploy picolisp on very tiny devices.

On Wed, Feb 18, 2015 at 1:09 PM, Alexander Burger a...@software-lab.de
wrote:

 Hi Lawrence,

  I've got a shell account with an ISP and I'd like to run picolisp locally
  in home.

 I assume that you can 'ssh' to that machine, and then have a normal,
 non-root access, right?


  Is that just a regular local install . . . or can I just move a
  minimal set of picolisp file structure over? I'd like to develop on this

 If you don't have root access and cannot install a global PicoLisp from
 a distribution, I would say that you simply install locally. Fetch and
 unpack the latest version:

$ wget software-lab.de/picoLisp.tgz
$ tar xfz picoLisp.tgz
$ cd picoLisp

 Now it depends whether this is a 32-bit or a 64-bit machine. Please
 check the INSTALL file for details.


  shell account. BTW, what's the difference between a deployment of
  picolisp (i.e. simply run a picolisp repl) and a normal development
  environment? I'm guessing not much?

 Right. I would say it is the same. You just need to add your
 application's sources.

 ♪♫ Alex
 --
 UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe



Minimal home install

2015-02-18 Thread Lawrence Bottorff
I've got a shell account with an ISP and I'd like to run picolisp locally
in home. Is that just a regular local install . . . or can I just move a
minimal set of picolisp file structure over? I'd like to develop on this
shell account. BTW, what's the difference between a deployment of
picolisp (i.e. simply run a picolisp repl) and a normal development
environment? I'm guessing not much?

LB


Re: Installation issues

2015-02-12 Thread Lawrence Bottorff
BTW, I don't see a drop-down menu when I start picolisp-mode. The old
version (bundled with the picolisp download had one. Just thought I'd
mention it. . . .

On Thu, Feb 12, 2015 at 6:18 AM, Lawrence Bottorff borg...@gmail.com
wrote:

 Forward-step (Fortschritt) must be, so said Wallenski.

 On Wed, Feb 11, 2015 at 10:56 PM, Alexis flexibe...@gmail.com wrote:


 Alexis writes:

  Lawrence Bottorff writes:


   . . I'm sure if I install a ubuntu-debian package version of  picolisp
 (3.1.7) picolisp-repl will see that, i.e., it's hardwired somewhere to look
 for a /usr/bin/ executable (pil or picolisp).


  Not quite: the problem turns out to be that i've failed to make use of
 the `picolisp-pil-executable` variable in `picolisp-repl`,  such that `pil`
 is only searched for in whatever paths have been  specified in Emacs'
 execution environment. Sorry! i'll fix that  now.


 i've now pushed the correction to GitHub; the corrected version should be
 available from MELPA within an hour or so (if not sooner).

 Sorry again for the hassle, and thanks for finding this issue!



 Alexis.
 --
 UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe





Re: Installation issues

2015-02-12 Thread Lawrence Bottorff
Okay, this is what I get with the latest melpa picolisp-mode:

emacs-snapshot: /usr/bin/pil: No such file or directory

Process picolisp-repl exited abnormally with code 127





Re: Installation issues

2015-02-12 Thread Lawrence Bottorff
Forward-step (Fortschritt) must be, so said Wallenski.

On Wed, Feb 11, 2015 at 10:56 PM, Alexis flexibe...@gmail.com wrote:


 Alexis writes:

  Lawrence Bottorff writes:


   . . I'm sure if I install a ubuntu-debian package version of  picolisp
 (3.1.7) picolisp-repl will see that, i.e., it's hardwired somewhere to look
 for a /usr/bin/ executable (pil or picolisp).


  Not quite: the problem turns out to be that i've failed to make use of
 the `picolisp-pil-executable` variable in `picolisp-repl`,  such that `pil`
 is only searched for in whatever paths have been  specified in Emacs'
 execution environment. Sorry! i'll fix that  now.


 i've now pushed the correction to GitHub; the corrected version should be
 available from MELPA within an hour or so (if not sooner).

 Sorry again for the hassle, and thanks for finding this issue!



 Alexis.
 --
 UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe



Re: Installation issues

2015-02-12 Thread Lawrence Bottorff
Okay, now it's working! Thanks for all your efforts!

As far as the drop-down menu, I can't recall. But it was present with the
distribution package, in .../lib/el if I'm not mistaken. It's just that now
when I run M-x picolisp-mode . . . nothing seems to have happened. For
opening a *.l file, I get Lisp Paredit Slime Projectile[picolisp] adoc in
my mode minibuffer. The original picolisp-mode.el instructions warned that
*.l would be grabbed by slime. . . .

On Thu, Feb 12, 2015 at 6:54 AM, Alexis flexibe...@gmail.com wrote:


 Lawrence Bottorff writes:

  Okay, this is what I get with the latest melpa picolisp-mode:

 emacs-snapshot: /usr/bin/pil: No such file or directory

 Process picolisp-repl exited abnormally with code 127


 This is /after/ you've set the value of `picoliso-pil-executable`
 appropriately?



 Alexis.
 --
 UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe



Re: Installation issues

2015-02-11 Thread Lawrence Bottorff
No matter what I do, M-x picolisp-repl gives:

 Searching for program: no such file or directory, pil

I've set customize group thus:
..
'(picolisp-picolisp-executable /home/lawrence/opt/picoLisp/bin/picolisp)
 '(picolisp-pil-executable /home/lawrence/opt/picoLisp/pil)

in a fresh install of the melpa picolisp-mode.

Help?



On Wed, Feb 11, 2015 at 8:29 PM, Alexis flexibe...@gmail.com wrote:


 Lawrence Bottorff writes:

  New install. Put picoLisp in ~/opt/picoLisp/ Then I created an alias for
 the pil:

 alias pil='~/opt/picoLisp/pil +'

 This works fine from shell; starts up REPL. However emacs can't start the
 REPL (run-picolisp):

 Searching for program: no such file or directory, pil

 What can I do to make emacs see ~/opt/picoLisp/pil  ?


 i'm running a manually-compiled Emacs 24.4, and i don't have any
 `run-picolisp` command available - what version of Emacs are you using?

 In any event, you might be interested in using the `picolisp-mode` package
 i've started developing:

 https://github.com/flexibeast/picolisp-mode

 You can specify the location of the `pil` executable via the `picolisp`
 customize-group, or by setting the value of `picolisp-pil-executable`.


 Alexis.
 --
 UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe



Re: Installation issues

2015-02-11 Thread Lawrence Bottorff
 . . I'm sure if I install a ubuntu-debian package version of picolisp
(3.1.7) picolisp-repl will see that, i.e., it's hardwired somewhere to look
for a /usr/bin/ executable (pil or picolisp).

On Wed, Feb 11, 2015 at 10:21 PM, Lawrence Bottorff borg...@gmail.com
wrote:

 No matter what I do, M-x picolisp-repl gives:

  Searching for program: no such file or directory, pil

 I've set customize group thus:
 ...
 '(picolisp-picolisp-executable /home/lawrence/opt/picoLisp/bin/picolisp)
  '(picolisp-pil-executable /home/lawrence/opt/picoLisp/pil)

 in a fresh install of the melpa picolisp-mode.

 Help?



 On Wed, Feb 11, 2015 at 8:29 PM, Alexis flexibe...@gmail.com wrote:


 Lawrence Bottorff writes:

  New install. Put picoLisp in ~/opt/picoLisp/ Then I created an alias for
 the pil:

 alias pil='~/opt/picoLisp/pil +'

 This works fine from shell; starts up REPL. However emacs can't start
 the REPL (run-picolisp):

 Searching for program: no such file or directory, pil

 What can I do to make emacs see ~/opt/picoLisp/pil  ?


 i'm running a manually-compiled Emacs 24.4, and i don't have any
 `run-picolisp` command available - what version of Emacs are you using?

 In any event, you might be interested in using the `picolisp-mode`
 package i've started developing:

 https://github.com/flexibeast/picolisp-mode

 You can specify the location of the `pil` executable via the `picolisp`
 customize-group, or by setting the value of `picolisp-pil-executable`.


 Alexis.
 --
 UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe





Re: Installation issues

2015-02-10 Thread Lawrence Bottorff
New install. Put picoLisp in ~/opt/picoLisp/ Then I created an alias for
the pil:

alias pil='~/opt/picoLisp/pil +'

This works fine from shell; starts up REPL. However emacs can't start the
REPL (run-picolisp):

Searching for program: no such file or directory, pil

What can I do to make emacs see ~/opt/picoLisp/pil  ?

LB


On Mon, Feb 9, 2015 at 10:27 AM, Loyall, David david.loy...@nebraska.gov
wrote:

 For what it is worth, here are the contents of every file named 'pil' in
 the 3.1.9 tarball.

 hobbes@metalbaby:~/src/pil319/picoLisp$ find . -name pil -exec head -1000
 {} +
 == ./bin/pil ==
 #!/usr/bin/picolisp /usr/lib/picolisp/lib.l
 (load @lib/misc.l @lib/btree.l @lib/db.l @lib/pilog.l)

 == ./ersatz/pil ==
 #!/bin/sh
 # 29nov10abu

 # Run Ersatz PicoLisp
 exec java -DPID=$$ -cp .:tmp:${0%/*}/picolisp.jar PicoLisp ${0%/*}/lib.l
 $@

 == ./pil ==
 #!/bin/sh
 exec ${0%/*}/bin/picolisp ${0%/*}/lib.l @ext.l $@

 NB the one that explicitly calls /usr/bin/picolisp (which is probably
 still the one installed by your package manager) and interprets the rest of
 the file as lisp source.

 Cheers,
 --Dave

 p.s. Here's what I use for my interactive REPL:

 hobbes@metalbaby:~/src/mb.pl.emu$ cat pil
 #!/bin/sh
 BROWSER=x-www-browser exec ${0%/*}/bin/picolisp ${0%/*}/lib.l @ext.l
 @lib/misc.l @lib/btree.l @lib/db.l @lib/pilog.l $@

  -Original Message-
  From: picolisp@software-lab.de [mailto:picolisp@software-lab.de] On
 Behalf
  Of Alexander Burger
  Sent: Saturday, February 07, 2015 12:29 AM
  To: picolisp@software-lab.de
  Subject: Re: Installation issues
 
  Hi Lawrence,
 
   I've gotten the latest picolisp, 3.1.9, and am trying to install
 locally.
 
  OK
 
   Following the instructions for 64-bit on my linux, I've built the
   executable picolisp all right. But the bin directory's pil seems to
   pick up the previous version I installed before from Ubuntu:
 
  I think I know what the problem is. It may be that the wrong 'pil' is
 executed,
  because there is another one in installation/bin, which is intended
 for the
  global installation.
 
  You need to install installation/pil, e.g.
 
 $ cd installation
 $ ./pil +
 
  (the '+' at the end is recommended, to get into debug mode).
 
  You can run it from any place, e.g. with an absolute path
 
 $ /path/to/my/installation/pil +
 
  or with a relative path
 
 $ ../../installation/pil +
 
  or whatever.
 
  ♪♫ Alex




modules?

2015-02-09 Thread Lawrence Bottorff
I'm wondering what you offer in lieu of modules (as with, say, Python). Is
there a black box way to package up code in picoLisp that has
module-like serviceability?

LB


Re: modules?

2015-02-09 Thread Lawrence Bottorff
I'm a total Lisp noob (and a very rusty programmer), but from OO (Java, et
al) there is (behind the scenes, i.e., preprocessor) name mangling. There's
also tagging stuff with a huge hash generated numbers. I say all this
because I'm hearing the need for uniqueness and anti-name-clash -- across
files and systems. Is that a correct assumption here? So when you call
your getBob function, some other code you're involved with doesn't think
that its (totally by chance also named) getBob function is meant. Am I on
the right track?

LB

On Mon, Feb 9, 2015 at 7:12 PM, andr...@itship.ch wrote:

 Hi list

  Could we cook up a convention?

 Pretext
 -
 In this context I assume modules is meant not in the sense of program
 design but in the sense of software packages, a format to download/copy a
 piece of picoLisp code (maybe accompanied by other files, e.g. pictures)
 and insert it into your own picoLisp environment and/or picoLisp
 application and getting it running without further manual adaption.

 I see a potentially big advantage of such a formalized system, as it could
 greatly enhance picoLisp code reuse, and also work somewhat against the
 Lisp Curse [1] and the sometimes claimed lack of libraries.

 But it must be designed very carefully, keeping it as simple and short as
 possible, keeping it free from any assumptions (about the picoLisp
 environment or the layout of a picoLisp application) besides the absolute
 bare necessary ones, so no restrictions are put on the kind of code and
 applications using it. This thing is a easy path to bloatware, and to my
 understanding the picoLisp philosophy is all about precluding bloat.

 So I see following problems:
 1) identity: how to identify a module and all parts belonging to it?
   (uniquely and universal)
 2) dependencies on other modules: how to verify if another module, which
 the current module depends on, is 'installed' (and functional) ?
 3) versioning of modules?
 4) upgrading/downgrading of a module version, also: being able to use
 multiple versions of a module in the same environment
 5) name clashing, especially of picoLisp code/symbols/function names/class
 names/etcetera
 6) lets assume modules are not only used to extend the picoLisp
 environment (e.g. stuff in @lib/), but also for applications and parts of
 applications - then there should probably a way to formulate which database
 schema / class definitions (and more!) a module requires/expects for the
 environment where it should run in.
 7) documentation - how does the interested module user find out what a
 given module does and how does he/she decide if it solves his/her needs?
 8) in which form would a module be distributed?
 9) uniform method of error reporting, especially to spot the source of an
 error in a composition of modules
 10) other problems?

 Oh, special question
 -
 we have package manager on OS (e.g., apt-get), now we have all this hip
 programming languages with one or even multiple package managers each,
 ruby, node.js (npm), python?, .net, java?, php (pear and another one) and
 many more.

 DO WE REALLY NEED TO CREATE ANOTHER ONE?

 Maybe we could come up with a small tool, which can take picoLisp code
 (and a bunch of files) and create a package to use with one of those
 existing module/package managers?
 I mean the question in the spirit of http://xkcd.com/927/

 My thoughts on solutions
 --
 (previous question ignored for the moment)
 Whenever I stumble on such common software design problems, I query the
 Wiki (that is the first original wiki, originally being a collection and
 discussion of Design Patterns).
 A first search [2] brings some nice results like What is a module [3]
 and especially the Module Dependency Problem [4] (that one we should
 definitively look at!)
 (I didn't study the Wiki entries entirely yet, so maybe there are better
 solutions mentioned there then what I think about below).

 I was pondering about similiar stuff before, mainly to find a good way to
 organize my own code.
 For the moment, I created a directory tgs in the picoLisp installation
 (tgs being a shortname for my personal framework).
 In this directory I have several directories for different topics, and
 within those I keep *.l-files.
 Examples:
 @tgs/log/log.l
 @tgs/time/duration.l
 @tgs/time/tz-offset.l
 @tgs/time/utc2local.l

 When I like to use a specific function I load the specific
 function.l-file. This can easily be done with (unless tz-offset.l (load
 @tgs/time/tz-offset.l))
 I try to keep the individual files as granular and small as possible,
 often having only one function defined in such a file, so I can load single
 individual functions and avoid loading anything I don't need.

 I also have directory x (for extra/external) where I put picoLisp code
 which is neither part of the standard distribution nor made by me.
 Examples:
 @x/cyborgar/web.l/...
 @x/regenaxer/osm/...
 @x/regenaxer/wiki/...


Installation issues

2015-02-06 Thread Lawrence Bottorff
Hello,

I've gotten the latest picolisp, 3.1.9, and am trying to install locally.
Following the instructions for 64-bit on my linux, I've built the
executable picolisp all right. But the bin directory's pil seems to pick up
the previous version I installed before from Ubuntu:

../bin/ ./pil
: (version)
3.1.7.3
- (3 1 7 3)

 However the pil in the .../picolisp/ main directory does work, giving
../picolisp/ ./pil
: (version)
3.1.9.0
- (3 1 9 0)

Why does the pil in .../bin/ behave this way? I'd like both, but I guess I
could uninstall one of them. . .

LB


Subscribe

2015-02-05 Thread Lawrence Bottorff
Subscribe