razzy` has quit [Remote host closed the connection]
razzy` has joined #picolisp
razzy` has quit [Remote host closed the connection]
razzy` has joined #picolisp
rob_w has joined #picolisp
orivej has joined #picolisp
orivej has quit [Ping timeout: 250 seconds]
orivej has joined #picolisp
ubLIX has joined #picolisp
orivej has quit [Ping timeout: 252 seconds]
ubLIX has quit [Ping timeout: 250 seconds]
andyjpb has joined #picolisp
andyjpb has quit [Ping timeout: 255 seconds]
orivej has joined #picolisp
razzy` has quit [Remote host closed the connection]
razzy` has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
<anddam>
I'm trying to follow tutorial on an ubuntu system with the provided package, it seems the interpreter starts in emacs mode (contrary to what the tutorial suggests) and has no 'vi or 'em functions
<anddam>
is this due to some ubuntu's "build flag" or did defauult behavior changed in picolisp?
<anddam>
aand nvm, I just figured I was calling picolisp rather than pil
<anddam>
different noob issue, pil + is not responding to C-d
<anddam>
pil without debug option does, how do I quit the running instance?
<Regenaxer>
Hi anddam, it starts in vi mode
<Regenaxer>
But for *any* mode you must start with + (debug mode)
<Regenaxer>
If pil + is not terminating with ^D it is strange
rob_w has quit [Quit: Leaving]
<anddam>
it is not
<anddam>
also I tried (edit) and it tried to start emacs rather than vi, is it relying on some env variable?
<anddam>
I don't seem to find any relevant env variable set
<anddam>
my debian's editor alternative is set to a vi-like editor, not to emacs
<anddam>
any hint?
<Regenaxer>
ah, I see, maybe emacs mode uses ^D differently
<Regenaxer>
I don't use emacs mode
<Regenaxer>
But the mode is remembered in "~/.pil/editor"
<Regenaxer>
just remove it, and you are back to vi mode
<anddam>
ok, I moved ~/.pil/editor and now C-d works
<anddam>
it only had (load "@lib/eled.l" "@lib/eedit.l") in it
<anddam>
can I set the (edit) editor that has to be used?
<anddam>
I do not have vim
<Regenaxer>
Not sure atm, I use vip
<Regenaxer>
I do that by including (load "@lib/vip.l") in my startup
<Regenaxer>
But "@lib/eled.l" vs. "@lib/led.l" do not use vim or vip or emacs, they are standalone
<Regenaxer>
OK, I checked now. Unfortunately 'vim' is needed in @lib/edit.l (vip or others don't work here), unless you can settle for emacs via @lib/eedit.l
<anddam>
I would settle for emacs (I'm using spacemacs) if it didn't quit on start, I only see the emacs window popping up briefly
<Regenaxer>
hmm, no idea. Perhaps wait a litte, some people here use emacs with pil
<Regenaxer>
The mailing list also had some discussions
<anddam>
nvm, I was able to use vis
<anddam>
just edited the vim calling function in edit.l
<Regenaxer>
ok, great :)
<anddam>
I'm not a lisper but definitely fascinated by it
<anddam>
I also have Land of Lisp even though I never went through half book
<Regenaxer>
Perfect, so just ask here for details
<anddam>
so I have a very light knowledge of clisp
orivej has quit [Ping timeout: 240 seconds]
<anddam>
the picolisp rationale is very alluring
<Regenaxer>
In fact clisp (common lisp) is quite different from pil
<anddam>
also I stumbled on the PilOS and the PilMCU presentation
<anddam>
Regenaxer: quite different in the underlying mechanics or in the syntax?
<Regenaxer>
mostly in the mechanics
<Regenaxer>
Syntax is minimal in Lisp, roughly the same in all Lisps
<anddam>
I see, that's due to its "tiny" nature? I have the idea picolisp choosed a smaller but complete set of functional blocks
<Regenaxer>
The main reason is that it is oriented toward interpretation
<Regenaxer>
as opposed to compilation
<Regenaxer>
So the behavior and consequences are different
<anddam>
and it picked an interpreter-only approach, I am not sure to grasp all the implications of that but I know the golden rule of software optimization
<anddam>
I'd like to write some small webapp with picolisp
<anddam>
is picolisp referred to using some shorthand like "pil"?
<Regenaxer>
OK, thats fine. I do that all the time for business
<anddam>
:-)
<Regenaxer>
We say "pil" mostly here
<anddam>
I see
<Regenaxer>
In short I would summarize that a compiler puts restrictions on the lang
<anddam>
btw what's the status of that Pisces board for PilMCU? I like the idea of pil on hardware
<Regenaxer>
So programming in pil is extremely flexible
<anddam>
I could not find the presentation anymore, I only found a youtube video
<Regenaxer>
I know that Geo is still on it
<Regenaxer>
but he is always short of time :)
<anddam>
Regenaxer: that flexibility about having source code always available reminded me of what I read about Lisp Machine (I'm a bit of a sucker for computer history)
<anddam>
Geo is the George guy living in Japan, I figure
<anddam>
I'm from Italy btw
<Regenaxer>
right
<Regenaxer>
ah, cool
<Regenaxer>
near here, Augsburg/Germany
<anddam>
oh Augsburg, "Augusta"
<Regenaxer>
right, emperor Augustus
<Regenaxer>
he founded it
<Regenaxer>
Augusta Aggrippina
<Regenaxer>
aw- (not here atm) has more contact with Geo
<anddam>
nice
<anddam>
what kind of web development do you do with pil?
<anddam>
anything out there in the public to check?
<Regenaxer>
Many kinds over the years, currently some ERP, and more Logistics
<Regenaxer>
Usually not
<Regenaxer>
Only small examples
<beneroth>
picolisp.com is picolisp
<Regenaxer>
I "condensed" typical parts in the demo in app/
<Regenaxer>
Another useful thing is PilBox. I use it in most current projects
<Regenaxer>
There are example apps which show typical pil gui/db programming
<Regenaxer>
very simple apps
<Regenaxer>
oops, must go, back in half an hour
<anddam>
see you, thanks for the info
orivej has quit [Ping timeout: 245 seconds]
<Regenaxer>
ret
razzy` has quit [Remote host closed the connection]
razzy` has joined #picolisp
razzy` has quit [Remote host closed the connection]
razzy` has joined #picolisp
razzy`` has joined #picolisp
andyjpb has joined #picolisp
razzy`` has quit [Remote host closed the connection]
razzy` has quit [Ping timeout: 252 seconds]
ubLIX has joined #picolisp
mtsd has joined #picolisp
orivej has joined #picolisp
razzy has joined #picolisp
mtsd has quit [Quit: leaving]
<razzy>
um, can i check from "parent" picolisp process if "child" process is run into segfault or could i terminate it, if it take too long?
<razzy>
do i need to use coroutines?
<beneroth>
coroutines and processes have nothing to do with each other
<beneroth>
if child really ended in segfault, then the child process will be gone - removed by the OS
<beneroth>
you can use (call ..) or (in (list ...)) to interact with e.g. ps - similar as (proc) debug function does
<beneroth>
(kids) gives all kid processes
<beneroth>
but well.. your picolisp processes should never end in segfault.. it means you have a grave mistake in your code (probably calling an non-existing function? that is an usual beginner mistake with picolisp..)
<Regenaxer>
If you start the process with (call ..) or (in ...) or (out ...) you get the signal number in @@ if it was killed
<Regenaxer>
(fork) runs in parallel, no wait(), so there is no return indicator
<Regenaxer>
You can kill with (kill)
<Regenaxer>
(ifn (fork) (runChildCode) (kill @))
<Regenaxer>
(kill @) runs in parent, in @ is the pid of the child