Hi Alex
This is not helpful. I want to define registers *globally", so that values,
arguments and return values can be passed between functions. All functions
get
arguments in 1, 2, or more registers, and *return* values (not just a single
value!) in 1, 2 or more registers, plus direct condition c
Hi Alex
>No, I want a *generic way* to call existing external libraries, e.g.
Powerbasic won't do what (native... does because it doesn't do variadic
arguments like lisp or even c...
Here's an example .
BTW Important words are LoadLibrary GetProcAddress Call DWORD FreeLibrary
and recently
Re the carry flag...you can get at that :)
On 4 February 2017 at 20:24, dean wrote:
> Hi Alex
>
> With stack control I mean that you can do unlimited 'push'es and 'pop's
> to/from
> the stack inside a function, and build arbitrary structures this way on the
> stack. You can add, subtract, increm
Hi Alex
With stack control I mean that you can do unlimited 'push'es and 'pop's
to/from
the stack inside a function, and build arbitrary structures this way on the
stack. You can add, subtract, increment and decrement the stack pointer
arbitrarily, and switch between different stacks by assigning
Hi Alex...I see,
Sorry for the delay...I've spent most of the day trying to get a crashy pc
to run windows and Powerbasic to do this but have done itI did need to
use a Fastproc which creates no stack frame and is a much leaner and meaner
version of a sub/function,
#COMPILE EXE
'#DIM ALL
I also run PicoLisp out of a TinyCore Linux 'VirtualBox' image...
This turned out to be the best route for me to get the performance and
features of picolisp I wanted on microsoft windows hosts.
TinyCore64 + vboxsf (to access host drives) + picolisp is a great combo in
< 50Mb
Exporting that as an
Thank you for the quick answer, Alex.
Println is not the key, I also played around with flush and sync and
tell and every word I saw in rosetta examples :-)
But no problem at all - enjoy the weekend :-)
Another approach was to have all different senders and the one receiver
in one picolisp s
> Now as far as trying PicoLisp goes, could we make a little app like
> http://www.tryclj.com?
>
Already done in ideone.com
Hi list,
Sounds like it's time to update the 'apt-get yourself some PicoLisp'
section on the wiki, as this is no longer the best route for those new to
the language.
To confirm, the best options seem to be:
- pil64 for Android
- Ersatz for Windows
- Docker Image (Packaged PL + Tiny Core)
- Build
https://www.amazon.com/Universal-Assembly-Language-Robert-Fitz/dp/0830627308
http://hackaday.com/2015/08/06/hacking-a-universal-assembler/
http://linuxfinances.info/info/assembler.html
On Sat, Feb 4, 2017 at 4:55 AM, Alexander Burger
wrote:
> Hi Dean,
>
> > re multiple entry points...assuming t
Hi Olaf,
just a wild guess, I'm too lazy ATM to try:
> == hey.l ==
> (out "listener" (print 'tput "clear"))
> (out "listener" (print 'tput "cup" 3 15))
> (out "listener" (print 'echo "hey"))
Should it not be 'println' instead of 'print', so that the shell gets a newline
delimiter?
♪♫ Alex
--
U
Hi all,
if someone has fun with this question, I would appreciate an answer.
I creat a named pipe in a terminal window and start a simple listener loop:
==bash==
mknod listener p
while true
do
read line In a second terminal window (same working directory) sending from pil
repl commands to l
Hi Dean,
> re multiple entry points...assuming that means setjmp and longjmp which
> save and preserve those registers above (albeit the 16 bit ones SP & BP as
Nono, setjmp/longjmp correspond to catch/throw in Lisp. This is something
completely different, it jumps *up* the call history to an encl
Thank you for your further explanation
On 4 February 2017 at 08:29, Alexander Burger wrote:
> On Fri, Feb 03, 2017 at 10:04:02PM +0100, pd wrote:
> > The reason for this difference is let behaviour: let binds a symbol to a
> > value *inside* let expression but first saves values of binding sym
Hi Alex...
re multiple entry points...assuming that means setjmp and longjmp which
save and preserve those registers above (albeit the 16 bit ones SP & BP as
their 32bit equivalents) I've just looked at the code for setjmp and
longjmp and in they're in asm anyway and look fairly innocuous
http://
Oops our threads have crossed.
Sorry about that.
I'll read what you've said now.
On 4 February 2017 at 08:47, dean wrote:
> Hi Alex...
>
> re multiple entry points...assuming that means setjmp and longjmp which
> save and preserve those registers above (albeit the 16 bit ones SP & BP as
> their
On Fri, Feb 03, 2017 at 10:04:02PM +0100, pd wrote:
> The reason for this difference is let behaviour: let binds a symbol to a
> value *inside* let expression but first saves values of binding symbols and
> once evaluated the expression it restores previous symbols values saved.
> ...
Your explan
Thank you very much for the explanation.
On 3 February 2017 at 21:04, pd wrote:
> The reason for this difference is let behaviour: let binds a symbol to a
> value *inside* let expression but first saves values of binding symbols and
> once evaluated the expression it restores previous symbols v
Hi Dean,
> Re multiple entry points are we talking setjmp, longjmp and saving/restoring
> ebx esi edi bp sp & pc? I'm looking at this along with stack control.
No, a multiple entry point would be (in C for demonstration):
void foo(void) {
doThis();
bar:
doThat();
}
and then
19 matches
Mail list logo