Re: epil - PicoLisp with Emacs-like command-line (was: Meta key in

2012-11-02 Thread Alexander Burger
Hi Thorsten,

 Maybe there could be a
 1. global switch '*Vi' that is true by default, and
 2. a function '(de Toggle-Vi...)' that toggles that switch, and
 3. three modes: Command, Insert, EInsert 
 or 
 3. two modes Command and Insert, with much Command functionality
 duplicated in Insert

Perhaps it is better to keep the two editors separate? This would make
changes and extensions more modular.


 maybe one could actually have two additional library files 'eled.l' and
 'eedit.l', not change anything in 'led.l' and 'edit.l', and simply

Yes.

 insert conditional statements in the startscripts and the functions that
 load the libraries? I.e., add 'eled.l' and 'eedit.l' to the PicoLisp

I would use the names vled.l and eled.l, and have a symbolic link
led.l to one of those. In that way, no changes to the rest of the
system are necessary.

Cheers,
- Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: pil64emu testing features

2012-11-02 Thread Alexander Burger
Hi Jon,

  Starting pil64emu with file argument, like ./bin/picolisp
  misc/fibo.l, still gives me a Segmentation fault.
 
 What's definitely still missing is 'native' support. As misc/fibo.l
 also does some native stuff, perhaps this is the culprit?
 
 
  Are there other interesting 64-bit features I could try at the moment?
 
 I hope I can finish some basic 'native' support during this week. Let's
 postpone testing until then?

Meanwhile, we have an improved version! :)

I'm not sure about the crash on your Mac yet (and other probable bugs),
but pil4emu is now rather complete. The unit tests pass, and a subset of
'native' is supported (I've tested it with some of your openGl
examples).

When the smoke clears, I'll write up some more details. Let's first see
how it works on your Mac. I've tested on Linux/x86-32 and Ubuntu/x86-64
so far.

To build it, it is now only necessary to do:

   $ (cd src64/; make emu)

This will force building the emulator, even on machines which are
natively supported (like x86-64 or ppc64).

A new global *CPU will tell us for which architecture the binary was
actually built:

   : *CPU   
   - emu

or

   : *CPU   
   - x86-64

etc.

Cheers,
- Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: pil64emu testing features

2012-11-02 Thread Jon Kleiser

Hi Alex,

On 11/2/12 1:44 PM, Alexander Burger wrote:

Hi Jon,


Starting pil64emu with file argument, like ./bin/picolisp
misc/fibo.l, still gives me a Segmentation fault.

What's definitely still missing is 'native' support. As misc/fibo.l
also does some native stuff, perhaps this is the culprit?



Are there other interesting 64-bit features I could try at the moment?

I hope I can finish some basic 'native' support during this week. Let's
postpone testing until then?

Meanwhile, we have an improved version! :)

I'm not sure about the crash on your Mac yet (and other probable bugs),
but pil4emu is now rather complete. The unit tests pass, and a subset of
'native' is supported (I've tested it with some of your openGl
examples).

When the smoke clears, I'll write up some more details. Let's first see
how it works on your Mac. I've tested on Linux/x86-32 and Ubuntu/x86-64
so far.

To build it, it is now only necessary to do:

$ (cd src64/; make emu)

This will force building the emulator, even on machines which are
natively supported (like x86-64 or ppc64).

A new global *CPU will tell us for which architecture the binary was
actually built:

: *CPU
-  emu

or

: *CPU
-  x86-64

etc.

Cheers,
- Alex


It builds more or less as before, and it's still got problems loading .l 
files (on my Mac):


f3bmac3:picoLispEmu jkleiser$ (cd src64; make)
emu.base.c: In function ‘run’:
emu.base.c:42115: warning: format not a string literal and no format 
arguments
emu.base.c:42170: warning: format not a string literal and no format 
arguments
strip: symbols referenced by indirect symbol table entries that can't be 
stripped in: /Volumes/P3/picoLispEmu/lib/ext

_exit
_fwrite
make: *** [../lib/ext] Error 1
f3bmac3:picoLispEmu jkleiser$ ./bin/picolisp
: (== 64 64)
- T
: *CPU
- emu
: (load misc/fibo.l)
[lib/native.l:31] !? (** 2 32)
** -- Undefined
?
: (bye)
f3bmac3:picoLispEmu jkleiser$ ./bin/picolisp misc/fibo.l
[misc/fibo.l:38] !? (load @lib/native.l)
@lib/native.l -- Open error: No such file or directory
?
: (bye)

Am I doing something wrong?

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


Re: pil64emu testing features

2012-11-02 Thread Alexander Burger
Hi Jon,

 It builds more or less as before, and it's still got problems
 loading .l files (on my Mac):
 
 f3bmac3:picoLispEmu jkleiser$ (cd src64; make)
 emu.base.c: In function ‘run’:
 emu.base.c:42115: warning: format not a string literal and no format
 arguments

OK, this is correct. It is a warning which doesn't make sense here
(printf called dynamically). It could be switched off
(-Wformat-security).


 strip: symbols referenced by indirect symbol table entries that
 can't be stripped in: /Volumes/P3/picoLispEmu/lib/ext
 _exit
 _fwrite
 make: *** [../lib/ext] Error 1

I see. Then it is perhaps better not to strip the shared libraries at
all? I remove the lines

   $(STRIP) $(lib)/ext
and
   $(STRIP) $(lib)/ht

from src64/Makefile.

Does anybody know a better solution?



 f3bmac3:picoLispEmu jkleiser$ ./bin/picolisp
 : (== 64 64)
 - T
 : *CPU
 - emu

Good :)


 : (load misc/fibo.l)
 [lib/native.l:31] !? (** 2 32)
 ** -- Undefined
 ?
 : (bye)

It seems you started only bin/picolisp, right? '**' is defined in
lib.l, so at least bin/picolisp lib.l must be started.

As ever, the recommended way is ./pil +.


 f3bmac3:picoLispEmu jkleiser$ ./bin/picolisp misc/fibo.l
 [misc/fibo.l:38] !? (load @lib/native.l)
 @lib/native.l -- Open error: No such file or directory

Same reason here. If the first argument is not correctly set up
(typically lib.l), then the path to the installation directory (to be
used by '@..') is missing.


So ./pil + should be the first thing to try.

Cheers,
- Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: pil64emu testing features

2012-11-02 Thread Jon Kleiser

Hi Alex,

On 11/2/12 4:30 PM, Alexander Burger wrote:

Hi Jon,


..

: (load misc/fibo.l)
[lib/native.l:31] !? (** 2 32)
** -- Undefined
?
: (bye)

It seems you started only bin/picolisp, right? '**' is defined in
lib.l, so at least bin/picolisp lib.l must be started.

As ever, the recommended way is ./pil +.



f3bmac3:picoLispEmu jkleiser$ ./bin/picolisp misc/fibo.l
[misc/fibo.l:38] !? (load @lib/native.l)
@lib/native.l -- Open error: No such file or directory

Same reason here. If the first argument is not correctly set up
(typically lib.l), then the path to the installation directory (to be
used by '@..') is missing.


So ./pil + should be the first thing to try.

Cheers,
- Alex


It didn't work too well:

f3bmac3:picoLispEmu jkleiser$ ./pil +
[/Users/jkleiser/.pil/history:1] File lock: Bad address
?
: (bye)

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


Re: pil64emu testing features

2012-11-02 Thread Alexander Burger
Hi Jon,

 f3bmac3:picoLispEmu jkleiser$ ./pil +
 [/Users/jkleiser/.pil/history:1] File lock: Bad address

Hmm, that's the same we had last week.

For some reason, fcntl() doesn't work. It workes on pil32, I believe.
Any ideas anybody (hello, Mac programmers?).

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


Re: pil64emu testing features

2012-11-02 Thread Alexander Burger
On Fri, Nov 02, 2012 at 05:38:40PM +0100, Alexander Burger wrote:
 For some reason, fcntl() doesn't work. It workes on pil32, I believe.

Perhaps found the reason. I've changed the calling pattern of fcntl().
Please try once more.

Cheers,
- Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: pil64emu testing features

2012-11-02 Thread Jon Kleiser
Hi Alex,

 On Fri, Nov 02, 2012 at 05:38:40PM +0100, Alexander Burger wrote:
 For some reason, fcntl() doesn't work. It workes on pil32, I believe.

 Perhaps found the reason. I've changed the calling pattern of fcntl().
 Please try once more.

 Cheers,
 - Alex

At least something has changed during the make:

MacBook-Air:picoLispEmu jkleiser$ (cd src64; make)
emu.base.c: In function ‘run’:
emu.base.c:42115: warning: format not a string literal and no format
arguments
emu.base.c:42170: warning: format not a string literal and no format
arguments
MacBook-Air:picoLispEmu jkleiser$ ./pil +
[/Users/jkleiser/.pil/history:1] File lock: Invalid argument
?
: (== 64 64)
- T
: *CPU
- emu
: (load misc/fibo.l)
[misc/fibo.l:40] !? (here /**/)
here -- Undefined
?
: (bye)
MacBook-Air:picoLispEmu jkleiser$ ./bin/picolisp
: (load misc/fibo.l)
[lib/native.l:31] !? (** 2 32)
** -- Undefined
?
: (bye)
MacBook-Air:picoLispEmu jkleiser$ ./bin/picolisp misc/fibo.l
[misc/fibo.l:38] !? (load @lib/native.l)
@lib/native.l -- Open error: No such file or directory
?
: (bye)

/Jon

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


Re: pil64emu testing features

2012-11-02 Thread Joe Bogner
Hi Alex,

pil64emu sounds very interesting. In case it helps, here is some output
from running pil64emu

joebo@joebo:~/tmp/picolisp$ ./pil +
: *CPU
- emu
: (load misc/fibo.l)
/usr/bin/ld: skipping incompatible
/usr/lib/gcc/i486-linux-gnu/4.4.5/libgcc.a when searching for -lgcc
/usr/bin/ld: skipping incompatible
/usr/lib/gcc/i486-linux-gnu/4.4.5/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
collect2: ld returned 1 exit status
- NIL
:

Here is my uname output:

Linux 2.6.32-5-686-bigmem #1 SMP Wed Jan 12 04:40:25 UTC 2011 i686 GNU/Linux

I'm running Debian 6.0

I tried some very basic picolisp operations and they worked fine.

I haven't done any native work since I had been running 32bit and so I
don't know if there's something broken on my install or if it's an issue
with pil64emu. In any case, I wanted to share my findings.

Thank you !

Joe




On Fri, Nov 2, 2012 at 3:47 PM, Jon Kleiser jon.klei...@usit.uio.no wrote:

 Hi Alex,

  On Fri, Nov 02, 2012 at 05:38:40PM +0100, Alexander Burger wrote:
  For some reason, fcntl() doesn't work. It workes on pil32, I believe.
 
  Perhaps found the reason. I've changed the calling pattern of fcntl().
  Please try once more.
 
  Cheers,
  - Alex

 At least something has changed during the make:

 MacBook-Air:picoLispEmu jkleiser$ (cd src64; make)
 emu.base.c: In function ‘run’:
 emu.base.c:42115: warning: format not a string literal and no format
 arguments
 emu.base.c:42170: warning: format not a string literal and no format
 arguments
 MacBook-Air:picoLispEmu jkleiser$ ./pil +
 [/Users/jkleiser/.pil/history:1] File lock: Invalid argument
 ?
 : (== 64 64)
 - T
 : *CPU
 - emu
 : (load misc/fibo.l)
 [misc/fibo.l:40] !? (here /**/)
 here -- Undefined
 ?
 : (bye)
 MacBook-Air:picoLispEmu jkleiser$ ./bin/picolisp
 : (load misc/fibo.l)
 [lib/native.l:31] !? (** 2 32)
 ** -- Undefined
 ?
 : (bye)
 MacBook-Air:picoLispEmu jkleiser$ ./bin/picolisp misc/fibo.l
 [misc/fibo.l:38] !? (load @lib/native.l)
 @lib/native.l -- Open error: No such file or directory
 ?
 : (bye)

 /Jon

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