Re: Possible host for PilOS

2015-08-04 Thread George Orais
Hi Alex,
> Not just "prefer" ... There is no way to run PilOS on 32-bits. Besides> the 
> fact that there is no ARM port yet.
Ah yes coz PilOS is fully based on pil64. Ah you mean there is no ARM port of 
the pil32 yet right? i thought someone here has successfuly install picolisp on 
an ARM device? or its not enough to consider as ARM port?


> Cool!
Thanks! more cooler is its using unconventional chips compared to other kits:* 
FRAM = better compared to EEPROM* Asyn SRAM = better and easier then SDRAM* NOR 
Flash ROM = better and easier than NAND Flash ROM found on SD cards
I know these are bit pricey and has lower capacity? But the reason is i 
handpicked them so that its tailored to be exactly same as what we implemented 
on the verilog emulator, this will help a faster turn around to finish the 
first prototype. Once we got this working, we can strip down and optimiz it 
from there and that's when the crowd-funding comes in..
The current specs for this board is:* 64bit pilMCU (using Altera FPGA)* 256KB 
FRAM for microcode* 16MB Async SRAM for main RAM, upgradable to 32MB* 512MB NOR 
Flash for main storage, upgradable to 1GB* Compatible with Waveshare 7" LCD + 
Capacitive Touch* Compatible with Waveshare VGA + PS2 module* Compatible with 
Waveshare Wifi module* Comaptible with Waveshare Ethernet module* GPIO's, I2C, 
SPI, UART interfaces* BCD to 7-seg and buttons* MCU is programmable via UART, 
so any computer with terminal emulator can program this board without 
installing any IDE. Even the old workstations (SUN, SGI, IBM) can also develop 
with this board because of UART.
Later part, even smartphones or smartpads can directly program this via BLE in 
which a BLE module is connected to act as UART.


> Hmm, no idea ... ;)
hehe no attempts? ok ill just spill it out :) actually i have plenty of options 
so you and everyone can help me which is better:
(A P F E L) = A Portable For Every Lispers(A P F E L) = A Platform For Every 
Lispers(A P F E L) = A Platform For Embedded Lisp(A P F E L) = A Playground For 
Every Lispers(A P F E L) = A Playground For Embedded Lisp(A P F E L) = Alex 
Platform For Embedded Lisp(A P F E L) = Alex Platform For Every Lispers(A P F E 
L) = Alex Playground For Embedded Lisp(A P F E L) = Abu's Platform For Embedded 
Lisp(A P F E L) = Abu's Platform For Every Lispers(A P F E L) = Abu's 
Playground For Embedded Lisp

And some older ideas i got:
FLEK = for lispers embedded kitPIL = platform in lispPLIC = Pico Lisp in Chip 
(pilMCU alternative name)PLOC = Pico Lisp on Chip (pilMCU alternative name)PoC 
= Picolisp on Chip (pilMCU alternative name)
Cheers!

BR,geo



 


 On Tuesday, August 4, 2015 1:28 PM, Alexander Burger  
wrote:
   

 Hi Robert, Geo,

indeed, an interesting piece of hardware!

> But its an ARM Cortex M4 and from what i remember Alex would prefer to
> have it on a 64bit machine as much as possible?

Not just "prefer" ... There is no way to run PilOS on 32-bits. Besides
the fact that there is no ARM port yet.


> Anyway don't worry coz i already got all the ingredients for the
> pilMCU evaluation kit? Got it from Digikey last week and now I'm
> currently layout the PCB which is time consuming esp if packages used
> are for SMD.. but its a working progress compared to past months.

Cool!


> Can't hold it but ok the name for the pilMCU evaluation board that I'm
> building is called "A.P.F.E.L." anyone can guess the meaning? :)

Hmm, no idea ... ;)
♪♫ Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


  

Re: Fwd: Making emacs like function documentation.

2015-08-04 Thread George Orais
This is really cool! even for the documentation can be embedded on the 
programming language itself.. or am I just a newbie?


 On Tuesday, August 4, 2015 1:36 PM, Manuel Cano  
wrote:
   

 Hi,

Great. I need to learn a lot.
Thank you.


Manuel
2015-08-03 20:57 GMT+02:00 Rick Hanson :

> > Why not just this?
> >
> >   (de thefunc (A B C)
> >     "This is the help text"
> >     (* A B C))
>
> Unfortunately Rick's solution form doesn't work.

It works for me just fine actually.

  $ ./pil
  : (de hola (Str)
      "This is just a test."
      (prinl "Hola " Str))
  -> hola
  : (hola "Manuel")
  Hola Manuel
  -> "Manuel"
  : (hola "Ricardo")
  Hola Ricardo
  -> "Ricardo"

And `hola`, like any other picolisp function, is just a list.

  : hola
  -> ((Str) "This is just a test." (prinl "Hola " Str))

So, it's easy to get the doc string out.

  : (cadr hola)
  -> "This is just a test."
--
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe




-- 
Manuel


  

Re: Possible host for PilOS

2015-08-04 Thread Alexander Burger
On Tue, Aug 04, 2015 at 09:40:18AM +, George Orais wrote:
> > Not just "prefer" ... There is no way to run PilOS on 32-bits.
> Besides> the fact that there is no ARM port yet.

> Ah yes coz PilOS is fully based on pil64. Ah you mean there is no ARM
> port of the pil32 yet right? i thought someone here has successfuly
> install picolisp on an ARM device? or its not enough to consider as ARM
> port?

Nono, there are plenty of ARM installations on pil32. I have it even
running on my Kobo E-Book reader. Just did an apt-get install picolisp

I meant ARMv8 of course :)




> (A P F E L) = A Portable For Every Lispers(A P F E L) = A Platform For Every 
> Lispers(A P F E L) = A Platform For Embedded Lisp(A P F E L) = A Playground 
> For Every Lispers(A P F E L) = A Playground For Embedded Lisp(A P F E L) = 
> Alex Platform For Embedded Lisp(A P F E L) = Alex Platform For Every 
> Lispers(A P F E L) = Alex Playground For Embedded Lisp(A P F E L) = Abu's 
> Platform For Embedded Lisp(A P F E L) = Abu's Platform For Every Lispers(A P 
> F E L) = Abu's Playground For Embedded Lisp

Hehe, I see. I thought you meant it as a pun on that company.
"Apfel" is German for "Apple".

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


Printing to file while reading from 'client'

2015-08-04 Thread Jon Kleiser
Hi,

I want to read some chunks from a HTTP connection, starting e.g. like this:

(client "www.some.com" 80 "page.html"

Depending on the chunks I read, I want to write some lines to a certain file on 
my disk, say "diskfile.txt", and now and then I also want to write a little 
info to my console with (out NIL (prinl SomeInfo)).

Are there better/smarter ways to do this than to use (out "+diskfile.txt" . . 
.) each time new lines shall be written to the file?

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


Re: Printing to file while reading from 'client'

2015-08-04 Thread Alexander Burger
Hi Jon,

> (client "www.some.com" 80 "page.html"

> Depending on the chunks I read, I want to write some lines to a
> certain file on my disk, say "diskfile.txt", and now and then I also
> want to write a little info to my console with (out NIL (prinl
> SomeInfo)).

Good.

> Are there better/smarter ways to do this than to use (out
> "+diskfile.txt" . . .) each time new lines shall be written to the
> file?

I think that writing with (out "+..." ...) is perfectly all right. This
is quite efficient, because the file is opened in append mode so that
the file pointer is immediately at its end.

If you feel that re-opening the file each time is too expensive, you
could also open all output channels in the beginning, and close them
later, e.g.

   (client "www.some.com" 80 "page.html"
  (out NIL  # Default to stdout
 (let (A (open "file1")  B (open "file2"))
...
(prinl "toStdout")
...
(out A (prinl "to file1"))
...
(out B (prinl "to file2"))
...
(close A)
(close B) ) ) )


If there is a possibility that the body of client is aborted before
the ending 'close's are reached (e.g. a 'throw' or and error exit), then
better use 'finally':

   (client "www.some.com" 80 "page.html"
  (out NIL
 (let? A (open "file1")
(finally (close A)
   (let? B (open "file2")
  (finally (close B)
 ...
 (prinl "toStdout")
 ...
 (out A (prinl "to file1"))
 ...
 (out B (prinl "to file2")) ) ) ) ) ) )

You could 'bench'mark both versions, but I think there'll be no
significant difference.

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


Re: Printing to file while reading from 'client'

2015-08-04 Thread Jon Kleiser
Hi Alex,

Thanks a lot! I’ll make up my mind re. which one to use.

/Jon

On 4. Aug, 2015, at 15:42, Alexander Burger  wrote:

> Hi Jon,
> 
>> (client "www.some.com" 80 "page.html"
> 
>> Depending on the chunks I read, I want to write some lines to a
>> certain file on my disk, say "diskfile.txt", and now and then I also
>> want to write a little info to my console with (out NIL (prinl
>> SomeInfo)).
> 
> Good.
> 
>> Are there better/smarter ways to do this than to use (out
>> "+diskfile.txt" . . .) each time new lines shall be written to the
>> file?
> 
> I think that writing with (out "+..." ...) is perfectly all right. This
> is quite efficient, because the file is opened in append mode so that
> the file pointer is immediately at its end.
> 
> If you feel that re-opening the file each time is too expensive, you
> could also open all output channels in the beginning, and close them
> later, e.g.
> 
>   (client "www.some.com" 80 "page.html"
>  (out NIL  # Default to stdout
> (let (A (open "file1")  B (open "file2"))
>...
>(prinl "toStdout")
>...
>(out A (prinl "to file1"))
>...
>(out B (prinl "to file2"))
>...
>(close A)
>(close B) ) ) )
> 
> 
> If there is a possibility that the body of client is aborted before
> the ending 'close's are reached (e.g. a 'throw' or and error exit), then
> better use 'finally':
> 
>   (client "www.some.com" 80 "page.html"
>  (out NIL
> (let? A (open "file1")
>(finally (close A)
>   (let? B (open "file2")
>  (finally (close B)
> ...
> (prinl "toStdout")
> ...
> (out A (prinl "to file1"))
> ...
> (out B (prinl "to file2")) ) ) ) ) ) )
> 
> You could 'bench'mark both versions, but I think there'll be no
> significant difference.
> 
> ♪♫ Alex

PԔ � &j)mX�����zV�u�.n7�

Re: Possible host for PilOS

2015-08-04 Thread George Orais
> I meant ARMv8 of course :)
Oh! indeed that would be nice! so what's the hindrance for this goal? also, is 
there a port for MIPS64? i plan to do it on my SGI Octane but maybe later after 
APFEL is done ;)


> Hehe, I see. I thought you meant it as a pun on that company.> "Apfel" is 
> German for "Apple".
hehe actually its the hidden agenda for this name, its a pun for two priducts: 
Apple and Raspberry Pi ^^And yes i know its German for apple ;)
 


 On Tuesday, August 4, 2015 6:14 PM, Alexander Burger  
wrote:
   

 On Tue, Aug 04, 2015 at 09:40:18AM +, George Orais wrote:
> > Not just "prefer" ... There is no way to run PilOS on 32-bits.
> Besides> the fact that there is no ARM port yet.

> Ah yes coz PilOS is fully based on pil64. Ah you mean there is no ARM
> port of the pil32 yet right? i thought someone here has successfuly
> install picolisp on an ARM device? or its not enough to consider as ARM
> port?

Nono, there are plenty of ARM installations on pil32. I have it even
running on my Kobo E-Book reader. Just did an apt-get install picolisp

I meant ARMv8 of course :)




> (A P F E L) = A Portable For Every Lispers(A P F E L) = A Platform For Every 
> Lispers(A P F E L) = A Platform For Embedded Lisp(A P F E L) = A Playground 
> For Every Lispers(A P F E L) = A Playground For Embedded Lisp(A P F E L) = 
> Alex Platform For Embedded Lisp(A P F E L) = Alex Platform For Every 
> Lispers(A P F E L) = Alex Playground For Embedded Lisp(A P F E L) = Abu's 
> Platform For Embedded Lisp(A P F E L) = Abu's Platform For Every Lispers(A P 
> F E L) = Abu's Playground For Embedded Lisp

Hehe, I see. I thought you meant it as a pun on that company.
"Apfel" is German for "Apple".

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


  

Re: Possible host for PilOS

2015-08-04 Thread Robert Herman
I will hope and look for a 64bit home for PilOS in the hardware world!

How about the Qualcomm DragonBoard? It's a 4 core 64 bit beast.

Rob



On Tue, Aug 4, 2015 at 6:07 PM, Alexander Burger 
wrote:

> On Tue, Aug 04, 2015 at 09:40:18AM +, George Orais wrote:
> > > Not just "prefer" ... There is no way to run PilOS on 32-bits.
> > Besides> the fact that there is no ARM port yet.
>
> > Ah yes coz PilOS is fully based on pil64. Ah you mean there is no ARM
> > port of the pil32 yet right? i thought someone here has successfuly
> > install picolisp on an ARM device? or its not enough to consider as ARM
> > port?
>
> Nono, there are plenty of ARM installations on pil32. I have it even
> running on my Kobo E-Book reader. Just did an apt-get install picolisp
>
> I meant ARMv8 of course :)
>
>
>
>
> > (A P F E L) = A Portable For Every Lispers(A P F E L) = A Platform For
> Every Lispers(A P F E L) = A Platform For Embedded Lisp(A P F E L) = A
> Playground For Every Lispers(A P F E L) = A Playground For Embedded Lisp(A
> P F E L) = Alex Platform For Embedded Lisp(A P F E L) = Alex Platform For
> Every Lispers(A P F E L) = Alex Playground For Embedded Lisp(A P F E L) =
> Abu's Platform For Embedded Lisp(A P F E L) = Abu's Platform For Every
> Lispers(A P F E L) = Abu's Playground For Embedded Lisp
>
> Hehe, I see. I thought you meant it as a pun on that company.
> "Apfel" is German for "Apple".
>
> ♪♫ Alex
> --
> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
>