Re: Pil transformed

2020-04-23 Thread George Orais
Hi Andras, 
this is super cool! Thanks for sharing!


Hi Jean-Christophe, 
maybe the README file inside doc64 can help answer your question ;) one thing 
that reminds me is the namespace? The reason why is pil32 uses hash table for 
the symbol table while pil64 uses binary tree? Not so sure but something like 
that :)


BR,
Geo




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


Re: Lisp, a language for "Stratified Design" Podcast and paper.pdf

2020-04-12 Thread George Orais
Me too, love the podcast, thanks for sharing!!

Happy Easter everyone!!


BR,
Geo






On Sunday, 12 April 2020, 01:49:21 pm GMT+9, C K Kashyap  
wrote: 





Thanks for sharing ... loved the podcast!
Regards,
Kashyap

On Fri, Apr 10, 2020 at 2:28 PM Guido Stepken  wrote:
> A highly inspiring, philosophical Podcast about Abstractions in Lisp, that - 
> until today - you simply can't do in other programming languages:
> 
> https://podcasts.google.com/?q=Lisp+stratified
> 
> https://www.researchgate.net/profile/Gerald_Sussman/publication/37596906_Lisp_A_Language_for_Stratified_Design/links/53d142ce0cf220632f392c19/Lisp-A-Language-for-Stratified-Design.pdf
> 
> Also see that strage discussion about PicoLisp and 'Graph Database':
> 
> https://www.mail-archive.com/picolisp@software-lab.de/msg09451.html
> 
> Even with a Bachelor in Computer Science, people simply don't get the power 
> of Picolisp. They don't see the forest for the trees.
> 
> Have fun listening!
> 
> Guido Stepken
> 
> 
> 

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


Re: How I run small mailing lists

2019-10-20 Thread George Orais
 Hi Yiorgos,
Thank you for sharing this, nice work!! Will use this as reference as well.

BR,Geo
On Friday, 11 October 2019, 06:05:07 am GMT+9, Yiorgos [George] Adamopoulos 
 wrote:  
 
 Hello, I wrote a blog post where I describe how I use picolisp to run small 
discussion lists:
https://adamo.wordpress.com/2019/10/10/how-i-run-a-small-discussion-mailing-list/
  
I may not have been able to do more serious stuff with picolisp, but I am 
thankful for these 100 lines of code.

-- 
keep raising the bar  

Re: A quick way to write an http endpoint to handle post body

2019-10-20 Thread George Orais
Hi Kashyap,
So cool! Thanks for sharing!

BR,Geo
On Friday, 13 September 2019, 12:45:44 am GMT+9, C K Kashyap 
 wrote:  
 
 Another update - I controlled my home made raspberry pi robot using the Bot 
Framework bot :)
Regards,Kashyap
On Mon, May 27, 2019 at 9:56 AM C K Kashyap  wrote:

Thanks Alex!

On Sat, May 25, 2019 at 12:06 AM Alexander Burger  wrote:

Hi Kashyap,

> I have it done finally. I've successfully built a "bot" that talks the
> "Azure Bot" protocol -
> Please take a look at http://ckkvm.westus2.cloudapp.azure.com:8080/ which
> presents a chat UI. It's a glorified REPL at this point :)

Wow, this looks cool!


> I've attache the bot code. The protocol is really simple. Messages are
> posted to the bot via an HTTP POST with the message in the body as a JSON

Re: Trouble with a sample

2019-10-20 Thread George Orais
 Hi Beneroth,
Sorry just to reply now, it was a hectic weeks for me.. but thanks for this 
explanation! I am also trying to learn PicoLisp as much as possible from these 
threads.
I want to promote PicoLisp as much as I can, I am working on something right 
now and hopefully I can provide a positive feedback soon, cheers!

BR,Geo
On Wednesday, 4 September 2019, 12:42:06 am GMT+9,  
wrote:  
 
   
Hi Geo
 
psh (located in the bin/ dir within picolisp/ dir) is "picolisp shell" (or 
process shell?), is a tool to get a REPL to a running picolisp app process.
 The implementation is a bit tricky, basically it does a HTTP request to the 
running app server (to initiate a session process),
 and then that process gets told to bind to a tty, so you get a REPL to the 
running application - a child process, same as normal application user 
sessions, not the master process.
 
 
So with psh you can work on the live application, like just another user.
 Very useful for debugging or live patching. If it is really a productive 
system, you should be careful with database transactions,
 as the database is write-locked for all users until the transaction started 
with (dbSync) is finished with (commit 'upd) or canceled with (rollback).
 Better use the auto-transaction methods (the ones with the ! in the name) like 
(put!>).
 
Best regards,
 beneroth
 
 On 03.09.19 16:30, George Orais wrote:
  
 Hi CK, 
  Im also currently learning PicoLisp web dev and this thread is indeed 
informative. 
  For your question I think Alex mentioned about psh? Im not so sure but I 
think I read somewhere about psh and its usage and this might be the answer. 
 
 BR, geo   
   

Re: Request for app development feedback/help

2019-10-20 Thread George Orais
 Hi Kashyap,
Nice works you did! I'm also learning Pil from reading all these threads.
About your question, does debugging help? Like putting a break point?
Also, what I was thinking recently is, would it be nice if there is a PilDB GUI 
Browser? Just like the DB Browser for SQLite?

BR,GeoOn Monday, 21 October 2019, 08:55:59 am GMT+9, C K Kashyap 
 wrote:  
 
 Hi Alex,It seems the advice of studying the sample app (part of the picolisp 
distribution) is a good idea :)
While I see the big pieces based on the description given in doc/app.html, I 
need some help understanding the Pilog queries.
I think I can make progress if I could figure out how to run the pilog queries 
in the sample app on the REPL. For example, how can I run the pilog query in 
the choOrd function in app/gui.l. It will help me see what the returned values 
are and how QueryChart uses them to render.
regards,Kashyap


On Thu, Sep 12, 2019 at 8:32 AM C K Kashyap  wrote:

Thanks Alex,
I'll keep those tips in mind while I go over the app/er.l .. I'll revert if I 
have more questions (I have a feeling I will :) )Regards,Kashyap

On Wed, Sep 11, 2019 at 10:25 PM Alexander Burger  wrote:

Hi Kashyap,

> I'll take a look at app/gui.l

Yes, I think it is a very typical example. In general, I would say that search
dialogs are *the* central issue.

Whenever I add a new entity class to an application, I first think about how
objects of that entity will be needed to be searched at runtime, and then do
three things:

   1. Add the class definition with proper index and joint relations to the E/R
      file.
   2. Write a search dialog allowing
      — the search for such objects with the right filter criteria
      — srcolling through the list of results in a chart
      — clicking on "@" in the result list to either
         — jump to the edit form of that object, or
         — take that object and insert into the context of another form
      — pressing a "New" button to make a new object if nothing useful found
   3. Write an edit form for such objects.


> Is there some documentation you could point me to for the format of the
> value in url> ?

Not that I'm aware of it. This method returns a a list to the path to the
standard edit form for that class, and further arguments, by convention passing
the object in the '*ID' global and the initial tab in the '*Tab' global if
desired:

   (dm url> (Tab)
     (and (may Customer) (list "app/cusu.l"  '*Tab Tab  '*ID This)) )

The (may ...) expression is for permission check. In general 'url>' returns NIL
if the object is not editable.

☺/ A!ex

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


  

Re: Vip without [N]curses

2019-08-11 Thread George Orais
 Hi Thorsten,
I'm not sure but looking at those errors are coming from Java, so maybe you can 
try  the other two ways to build the 64bit:
* Download one of the pre-generated "*.s" file packages* Build a 32-bit version 
first, and use the resulting bin/picolisp to     generate the "*.s" files: 
BR,GeoOn Sunday, 11 August 2019, 09:54:04 pm GMT+9, Thorsten Jolitz 
 wrote:  
 
 Alexander Burger  writes:

Hi Alex,

> more and more I got frustrated with all the quirks of Ncurses (as
> discussed here
> and in IRC), so I decided to abandon them, and implement Vip directly
> with ANSI
> escape sequences (VT-100).
>
> To my surprise this turned out quite easy, and the result is both
> smaller and
> simpler!
>
> I tested on Termux, Tmux, XTerm and Linux Console. If anybody is
> interested, it
> is in the rolling picoLisp.tgz release :)

thats very interesting, ncurses seemed to be a real curse so to say ...
I have 
- version (19 7 31) on Android/termux 
- version (19 8 9) on Win10/wsl 
now, both seem to have that change, and both could be installed and
work (for termux I always have to adapt the first line in /bin/vip,
i.e. replace /usr with termux $PREFIX, /data/data/com.termux/files/usr)

But on my desktop ArchLinux machine with the newest PicoLisp dev
download I get a make error, see PS1.

Cheers 
Thorsten

PS 0
I looked into vip.l and some vt100 docs, but I find it really hard to
understand how e.g. "split window (qs)" is implemented with the vt100
escape sequences?
Could you elaborate on this a bit?

PS 1
On an up-to-date ArchLinux today, with the freshly downloaded dev
version of PicoLisp:

[tj@arch picoLisp]$ (cd src64/;make)
/mkAsm x86-64 ".linux" .s Linux base "" ../lib/map  version.l glob.l
main.l gc.l apply.l flow.l sym.l subr.l big.l io.l db.l net.l err.l
sys/x86-64.linux.code.l
Exception in thread "main" java.lang.UnsupportedClassVersionError:
PicoLisp : Unsupported major.minor version 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:803)
        at
        java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:442)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:64)
        at java.net.URLClassLoader$1.run(URLClassLoaderjava:354)
        at java.net.URLClassLoader$1.run(URLClassLoaderjava:348)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:347)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:312)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at
        sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
make: *** [Makefile:179: x86-64.linux.base.s] Fehler 1

PS 2
[tj@arch picoLisp]$ lscpu
Architektur:                    x86_64
CPU Operationsmodus:            32-bit, 64-bit

-- 
cheers,
Thorsten


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

Re: Image processing, getting started?

2019-06-20 Thread George Orais
Hi!

This is cool!

Maybe you need to convert the images to PPM first? Or you can create or use 
exisiting C library to get the right format you want :)



BR,
geo

> On Jun 20, 2019, at 3:24 PM, JmageK  wrote:
> 
> Hi, all!
> I was recently thinking, 'How can you do image processing in picolisp' Like 
> reading a file, changing some color values, etc.
> I tried a basic PNG & jpg file. Using rd it does read but I'm getting binary 
> output in terminal. And if I try it for a high value (when using jpg) pil 
> crashes
> : (in"file.jpg"(do 9 (prinl (rd]or
> : (in"file.jpg"(do 40(PR(rd]For now just knowing how to read the file 
> contents as an array of color values like if rgb then (255 23 123 23 1 0 44 
> 65..) would be sufficient, but a better way is always welcome. I would be 
> testing with jpg or PNG.
> JmageK
> -- 
> Securely sent with Tutanota
> 
> -- 
> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


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


Re: Database file format

2019-05-28 Thread George Orais
Hi Kashyap,

Does picoLisp\doc64\structures help? It contains some illustration about the 
Database file.


BR,
geo

> On May 29, 2019, at 5:41 AM, C K Kashyap  wrote:
> 
> Hi,
> Is there documentation about the file format of the database file in PicoLisp?
> I am looking at the possibility of using it for the tripple store. 
> Regards,
> Kashyap
> -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Why List?

2019-04-27 Thread George Orais
Hi,

Maybe one reason is will it be complicated to do garbage collection on a hash 
table? In theory its possible but maybe it will be a bit tedious compare to 
linked list data struct.


BR,
geo

> On Apr 28, 2019, at 3:24 AM, C K Kashyap  wrote:
> 
> Thank you so much for your detailed explanation.
> 
>> On Sat, Apr 27, 2019 at 10:46 AM Joh-Tob Schäg  wrote:
>> Lisp is language where expression are executed in order. Since lisp code is 
>> expressed in data, we need something that has a way of expression of express 
>> ordering.
>> That is possible in a dictionary too. Let's imagine the code:
>> {fak => {1 => {1 => N}, {2=>{1=>if, 2=>{1 => =, 2=> N, 3=>0}, 3=>1, 4=>{1=> 
>> *, 2=> N ,3=> {1=>fib, 2=>{1=>dec,2=>N}}}
>> I think we would need 9 independent hash tables to store simplest of 
>> programs i could come up with. Of course another grammar would be choose 
>> which leads to flatter hierarchies but that is a point which i can not 
>> elaborate further here.
> 
> I was thinking along the lines of transforming a list -> (A B C) into {1 A, 2 
> B, 3 C} where the ordering simply transforms into an ordered key. Or 
> transforming a dictionary {K1 : V1, K2: V2} into a list as (K1 V1 K2 V2). 
> Which in my mind would translate into 1 list transforms into 1 dictionary or 
> the other way.
>  
>> I doubt that dictionaries would more efficient. This idea may stem from a 
>> confusion about O(x). The big O notation talks about asymptotic time 
>> complexity as how do they compare when the number of elements gets infinite. 
>> Many problems of humans including computing are decidedly finite, maybe even 
>> "small". Algorithms with worse BigO might be better for many all practical 
>> use cases.
>> 
>> Furthermore a person stating that dicts are a more efficient has probably
>> a) never used one in the way i stated above
>> b) has never looked at the assembly for both
>> c) is unaware of the cache hierarchy
>> 
> 
> Efficiency was only a "potential" possibility I was suggesting but I totally 
> get what you are saying and I don't believe that O(1) promise of hashtable is 
> a free of caveats.
>  
>> I invite you to reflect your idea bearing these in mind.
>> Furthermore hash table (how you would often implement a dict) does not 
>> "really" have an access time of 0(1) it has a best case O(N/m) where N is 
>> the number of elements and M the number of buckets The O(1) like behaviour 
>> is achieved by doing a rehashing in to a larger hash table which is a 
>> N*O(n/m) effort.
>> Furthermore many operations possible with lists are not trivially possible 
>> with dicts that replace lists. 
>> Nesting as seen above is one of them.
>> Operations which require a complete rehash of the hash table are:
>>  - inserting an element anywhere
>>  - removing an element anywhere 
>> 
>> Furthermore as seen above access time of any element in a hash table is 
>> proportional to: O(N/M)
>> Access time in a list is proportional to: O(N-K) where the Nth element is 
>> the one we want to get and the Kth is element we know and use a an 
>> entrypoint to gollow the list. 
>> Getting the next element in a list is there for O(1) while in a hash table 
>> it is O(N/M) with an additional overhead for calculating the hash table.
>> If you have an strict ordering of execution (as you might want as a 
>> programmer) a list gives you fast access to the next piece of code. A hash 
>> table would give you access to all elements equally slow.
>> 
>> Additionally hash tables are when used as above way more space inefficient 
>> than linked lists. That means fewer information fits in the cache -> slower. 
>> For the performance of the Hash tables it is important that things are 
>> equally distributed over all buckets. This is done by using a hash that 
>> places them "without pattern". (In hash table theory the ideal hash table 
>> uses a random oracle to generate the hashes, which is random number 
>> generator that gives you an random number for a never seen before item or 
>> the number from last time if the item is already known)
>> This kills the cache and all speculative execution schemes used to speed up 
>> modern processors.
> 
> Would I be right if I summarize the above as - operational efficiency the 
> reason List is chosen as the data structure for LISP? And it doesn't hurt 
> that it is also the simpler of the two :)
>  
>> 
>> I invite you to program a lisp interpreter in lua with the addressing scheme 
>> above. Lua has only hash tables as data structure. You can see if you are 
>> faster. I guess you are not. Even if you run a LuaJIT which compiles stuff 
>> done and is quiet competitive speed wise.
>> 
> 
> No thanks :) .. PicoLisp is my final language!
> 
>  
>> 
>> 
>> 
>> 
>> 
>>> On Sat, 27 Apr 2019 at 17:26, C K Kashyap  wrote:
>>> Hi Alex et al,
>>> I've wondered about this question for a bit. Why should list be the 
>>> fundamental data type? Should it not be a dictionary? Dictionary is 
>>> essentially a function - 

Re: Question about assembly in x86-64.l

2019-03-05 Thread George Orais
Hi Kashyap,

I think Alex means as of the moment PilASM does not support PIC, its the Mac 
side that insist to use PIC.

Btw, great job on this port and looking forward to this!

Actually I did try to port Picolisp on Mac when I had a MacBook Air from my 
previous work, but it was only for Pil32 coz it was more easier to deal with C 
Before I left I was able to polish all the warnings and error on LLVM and run 
Pil with Fibo. It worked but it crashes if I do a Fibo on a bigger number I 
have an idea of the culprit but didnt got the time to continue. Once I can have 
my own Mac I will resume as well as try Alex suggestion for the iOS :)

Your work reminds me of working on the arch.l that generates the verilog code 
for the simulator, and later on the instruction sets for the actual hardware.

Keep us posted, thanks!


BR,
geo

> On Mar 6, 2019, at 7:19 AM, C K Kashyap  wrote:
> 
> Hi Alex,
> I'll need some help understanding the PIC code a bit - can you please give an 
> example in the generated picolisp assembly that relies on position dependent 
> code?
> Regards,
> Kashyap
> 
>> On Tue, Mar 5, 2019 at 10:28 AM Alexander Burger  
>> wrote:
>> > Btw ... just want to double check here - there is no way to run picolisp64
>> > on mac today right?
>> 
>> Yes, because the Mac has a x86-64 CPU and insists to run position independend
>> code, which is not supported by src64/arch/x86-64.l (at least not currently, 
>> and
>> would be a major rewrite).
>> 
>> It would not be a problem if the Mac still had a Ppc64 CPU (or Arm64), as
>> these architectures support PIC well.
>> 
>> Fortunately, iOS devices have Arm64, so this would be fine.
>> 
>> ☺/ A!ex
>> 
>> -- 
>> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: PicoLisp v. MicroPython ?

2019-01-22 Thread George Orais
Hi Henry,

From what I know, these are the options for PicoLisp:
1. PilOS
2. miniPicoLisp
3. And the one Im still working on which is PilMCU.

There is also another Lisp which is similar to this: uLisp



BR,
geo

> On Jan 23, 2019, at 8:58 AM, Henry Baker  wrote:
> 
> MicroPython (micropython.org) is apparently an
> implementation of Python intended for *bare metal*
> implementations.
> 
> Is PicoLisp aiming for some of the same applications?
> 
> 
> -- 
> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


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


Re: Wikipedia

2019-01-03 Thread George Orais
Hi Alex, 

> Better not. I was hoping that Geo (George Orais) would comment, he is still 
> working on it. 

Thanks!! Actually I did comment on this last Jan 2. :) 



> Should we perhaps also mention that PicoLisp is available as a package 
> on Termux (terminal app on Android)? 
> 
> ... 
> 
> As this is only a community-internal link, we should also link to the Google 
> Play Store page 
> 
>   https://play.google.com/store/apps/details?id=de.software_lab.pilbox 

Cool!! How about PilOS? 



BR,
Geo



On Thursday, 3 January 2019, 18:53, Alexander Burger  
wrote:



On Thu, Jan 03, 2019 at 09:57:30AM +0100, Alexander Burger wrote:
> You could also check https://picolisp.com/wiki/?pilbox

As this is only a community-internal link, we should also link to the Google
Play Store page

  https://play.google.com/store/apps/details?id=de.software_lab.pilbox


☺/ A!ex

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

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


Re: Wikipedia

2019-01-01 Thread George Orais
Hi Jon,

First of all, a Happy New Year to everyone!

Sorry for the very slow progress and less update on the PilMCU due to the 
recent changes in life.. 

I can say that PilMCU is still a work in progress and it would be nice to still 
keep it in the history section. One of the proof that its working is my youtube 
video at this link: 

https://youtu.be/mMgIvITAMBc

And there are many inquiries when and where the softcore can be available. I 
believe this year I can get back and finalize the softcore for I gained more 
knowledge on how to optimize the implementation based on my daily work here in 
Tokyo.

Thanks again and looking forward for more Picolisp projects soon!



BR,
Geo





On Saturday, 29 December 2018, 7:00, Jon Kleiser  wrote:



Hi,

I suggest we add one or more milestones in the History section, and maybe 
remove the 2014 PilMCU paragraph (if that was not successful). Give me the text 
and I shall put it in.

/Jon


Sent from my iPhone

On 28 Dec 2018, at 08:35, Jean-Christophe Helary  wrote:


I think the issue with the Wikipedia message is that not much is said of 
Picolisp outside of the Picolisp community :) Hence, if we can have a few 
articles about *anything* related to Picolisp then we can add a lot of 
"neutral" contents and that doesn't have to be you who does the stuff.

So anything you're aware that can be published and possibly be referenced, go 
ahead :)

JC



On Dec 28, 2018, at 16:18, Alexander Burger  wrote:
>
>Hi Jean-Christophe,
>
>
>Do you have a list of commercial applications that were developed in picolisp
>>and can be mentioned there?
>>
>I could put together a list of all my projects during the last 30 years, but it
>would not be helpful as these are all custom applications, not visible in
>public.
>
>
>
>Are there citations that refer to that (in industry papers, etc.) ?
>>
>Not that I'm aware of ...
>☺/ A!ex
>
>
>-- 
>UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
>

Jean-Christophe Helary
---
http://mac4translators.blogspot.com @brandelune

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


Re: how to determine pil 64bit/32bit version?

2018-07-13 Thread George Orais
Hi,

I usually follow the one on the readme file which suggest to do this; input the 
folowing expression on the repl:

(== 64 64)


if it returns T then its running 64bit
if it returns NIL its running 32bit

Hope this helps, cheers!


BR,
geo

> On Jul 13, 2018, at 7:08 PM, O.Hamann  wrote:
> 
> Document string for (version flg) says: 'The JVM- and C-versions print an 
> additional "JVM" or "C",'
> 
> Am I right, that a result list like (16 12 8) signals definitely a 64bit 
> picolisp version?
> 
> I don't know how to check whether on a rasp runs the 32bit or 64bit version 
> of picolisp.
> 
> Regards
> 
> 
> 
> -- 
> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


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


Re: I/O device access

2017-09-30 Thread George Orais
Hey! 

> Thanks for the answer, sir. 

No probelm sir ;) 



> I’m fine with GNU/Linux, it is an awesome operating system. 

Perfect! 



> Your projects sounds awesome, too. How many people are working in PilMCU 
> project? 

As of the moment, just me and Abu :) But AW is also planning to build one soon 
;) 



> What OS does it use? 

Ah I think it should be also called PilOS coz its made by Abu ;) As of the 
moment the OS implemented in PicoLisp is composed of: Line editor, filesystem, 
debugger, benchmark.. and more useful tools :) 

You can also check out the mini PicoLisp running on a AVR based MCU? 


BR,
Geo

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


Re: I/O device access

2017-09-30 Thread George Orais
Hi stayfirefocus,
Nice goal you got!
>From what I understand, there is no direct way or pure PicoLisp way to access 
>camera/microphone coz it usually rely on existing libraries made by other 
>languages like mainly in C. So I think your first step would be find those 
>libraries then access them from PicoLisp ;)
Another approach is to run PicoLisp bare-metal (PilOS for x86) and implement 
the I/O access in Assembly :)
OR maybe you can try run PicoLisp on an RPi and have those I/O access by 
existing drivers and have those drivers access from PicoLisp? 
I want to suggest the on-going PilMCU (FPGA based) but I'm still working on the 
I/O too so hehe maybe next time ;) Will post a new video soon on the new 
progress :)


BR,Geo
 

On Sunday, October 1, 2017 5:44 AM, "stayfirefo...@outlook.com" 
 wrote:
 

 

-Original Message-
From: picolisp@software-lab.de [mailto:picolisp@software-lab.de] On Behalf Of 
stayfirefo...@outlook.com
Sent: Saturday, September 30, 2017 11:19 PM
To: picolisp@software-lab.de
Subject: RE: I/O device access



-Original Message-
From: picolisp@software-lab.de [mailto:picolisp@software-lab.de] On Behalf Of 
stayfirefo...@outlook.com
Sent: Saturday, September 30, 2017 10:54 PM
To: picolisp@software-lab.de
Subject: RE: I/O device access

Thanks so much for the answer, but I don't intend to access camera on Android, 
nor taking picture. The first step of building a vision system for AGI is 
inputting signals or video. Regenaxer, remember I am here because of only 
reason, the goal of building the first AGI in the world. I'm a small 
programmer, you guys have to babysit me :) 
I@R    f  )  %  l  pj  i ^  y T ˛  m

I meant, the first step is accessing the camera, then organizing it to the 
thinking center.
5%H$HI��[h�'(�+)�ޕ��z˛��-R{.n�+��

Your reply is not appearing In English, but in weird symbols, I've attached a 
screenshot, please look at it.  


   

Re: Compiling to bytecode

2017-07-15 Thread George Orais
Hi Matt,

Nice plan you got!

Maybe I can share you some of my experience implementing PIL64 to FPGA.

But got some questions first:
1. Is it a 32bit or a 64bit MIPS?
2. Is it running an OS?

I'm not sure but I think someone was attempting to port PicoLisp to an old SGI? 
And I'm sure that SGI was using MIPS, maybe that port might help you?


BR,
Geo

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


Re: single letters

2017-06-19 Thread George Orais
Hi Bruno,

No problem! Glad to hear I was able to help :)

I'm still working on the FPGA version of PicoLisp VM so most of the time I also 
do these comparison to have a better understanding how the VM is implemented.


BR,
geo

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


Re: single letters

2017-06-18 Thread George Orais
Hi Bruno,

More details:


Pil32:

/*** Case mappings from the GNU Kaffe Project ***/
#define CHAR_UPPERCASE  1
#define CHAR_LOWERCASE  2
#define CHAR_LETTER 62
#define CHAR_DIGIT  512



Pil64:

# Case mappings from the GNU Kaffe Project
(equ CHAR_UPPERCASE 1)
(equ CHAR_LOWERCASE 2)
(equ CHAR_LETTER 62)
(equ CHAR_DIGIT 512)


So this shows its using casing information built into unicode.

But Alex can explain more better and reliable ;)


BR,
geo

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


Re: single letters

2017-06-18 Thread George Orais
Hi Bruno, 

Here are the implementation for both Pil32 and Pil64: 



Pil32: 

// (low? 'any) -> sym | NIL 
any doLowQ(any x) { 
x = cdr(x); 
return isSym(x = EVAL(car(x))) && isLowc(symChar(name(x)))? x : Nil; 
} 

// (upp? 'any) -> sym | NIL 
any doUppQ(any x) { 
x = cdr(x); 
return isSym(x = EVAL(car(x))) && isUppc(symChar(name(x)))? x : Nil; 
} 





Pil64:

# (low? 'any) -> sym | NIL
(code 'doLowQ 2)
ld E ((E CDR))  # Get arg
eval  # Eval it
num E  # Number?
jnz retNil  # Yes
sym E  # Symbol?
jz retNil  # No
call firstCharE_A  # Get first character
cmp A TOP  # Special "top" character?
jeq retNil  # Yes
call caseDataA_AC  # Get case info
and B (hex "1F")  # Character type
cmp B CHAR_LOWERCASE  # Lower case?
ldnz E Nil  # No
ret

# (upp? 'any) -> sym | NIL
(code 'doUppQ 2)
ld E ((E CDR))  # Get arg
eval  # Eval it
num E  # Number?
jnz retNil  # Yes
sym E  # Symbol?
jz retNil  # No
call firstCharE_A  # Get first character
cmp A TOP  # Special "top" character?
jeq retNil  # Yes
call caseDataA_AC  # Get case info
and B (hex "1F")  # Character type
cmp B CHAR_UPPERCASE  # Lower case?
ldnz E Nil  # No
ret



>From what I understand they are both using same mechanism but Pil32 is using C 
>programming while Pil64 is using PilASM.
So to understand better lets just dig with Pil32, here is the ingredients:



static inline int charType(int c) {return Data[Blocks[c>>5]+c & 0x] & 0x1F;}

static inline bool isLowc(int c) {return charType(c) == CHAR_LOWERCASE;}
static inline bool isUppc(int c) {return charType(c) == CHAR_UPPERCASE;}



So there is an array there so I believe your understanding is correct. And when 
looking deeper with Pil64 it mentions about 
"Case mappings from the GNU Kaffe Project" so I think this is where the case 
info integrated. 

BR,
geo

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


Re: single letters

2017-06-17 Thread George Orais
Hi Alex,

> Yes, 'low?' and "upp?" are a good idea. They do however return true also for 
> letters like "ä" / "Ä", so it depends on what the exact task is

Re: single letters

2017-06-17 Thread George Orais
(Resend to change to plain text format)


Hi, 

How about this: 

(de singleLetter? (item) 
   (if (and (=1 (length item)) (or (low? item) (upp? item))) 
   1 
   NIL)) 

This returns 1 if true then NIL for false. 



But if you just need NIL for false and then the letter itself for true, then 
can be shorten into this: 

(de singleLetter? (item) 
   (and (=1 (length item)) (or (low? item) (upp? item 



BR, 
geo 

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


Re: single letters

2017-06-17 Thread George Orais
Hi,
How about this:
(de singleLetter? (item)   (if (and (=1 (length item)) (or (low? item) (upp? 
item))) 1 NIL))
This returns 1 if true then NIL for false.


But if you just need NIL for false and then the letter itself for true, then 
can be shorten into this:
(de singleLetter? (item)   (and (=1 (length item)) (or (low? item) (upp? 
item


BR,geo



 

On Saturday, June 17, 2017 2:52 PM, Alexander Burger  
wrote:
 

 On Sat, Jun 17, 2017 at 07:35:44AM +0200, Alexander Burger wrote:
> On Fri, Jun 16, 2017 at 06:31:06PM -0800, Christopher Howard wrote:
> > Hi list. In picolisp, what would be the simplest way to check if a
> > string (trans sym) is one character long and that the character is one
> > of the letters a-z or A-Z?
> 
> I would do:
> 
>    (member C '`(mapcar char (conc (range 65 90) (range 97 122

Sorry, no!

It is shorter, faster and more readable to do:

  (or (>= "Z" C "A") (>= "z" C "a"))

♪♫ Alex

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


   

Re: PilMCU status

2017-04-20 Thread George Orais
Hi Joh-Tob! 

> If you are still searching an FPGA board you might want to get in contact 
> with j-core.org 
> They build an open source processor and are developing an RasPi form factor 
> compatible FPGA board. 

Thanks for this suggestion! It indeed looks a great alternative. Looks like J2 
is implemented using VHDL and the board they are using is Numato Mimas and it 
is using Xilinx Spartan, it looks capable but it misses an external ROM chip 
for the kernel. 


Hi pd! 

> you may be also interested in icezum alhambra a lattice iCE40HX1K-TQ144 based 
> development board with open source toolchain 
> https://github.com/bqlabs/icezum 

Thanks! This is also a nice alternative, it uses the Lattice that was mentioned 
by AW. The board also looks capable but it misses an external ROM chip, 
external RAM chip and SDD storage like Flash ROM chip or SD card slot. 


But of course we can add those missing pieces on these boards if we want but it 
will add some efforts so its better to choose some boards that already contains 
the necessary components. 

The fastet way to try PilMCU is to pick some boards that are most identical 
with my current board which are the following: 

1. http://www.waveshare.com/product/fpga-tools/altera/altera-boards.htm 
- As you can notice, I used their core board for PISCES so this would be the 
ideal off-the-shelve option. 

2. 
https://www.aliexpress.com/store/product/T22-Altera-FPGA-development-board-Cyclone-IV-EP4CE22-Nios-development-board-learning-board/1944693_32529358826.html
 
- This was the first board I bought to implement PilMCU but as I have 
mentioned, to fast-pace the Verilog coding development, I decided to build my 
own and hand-picked the necessary components that are more easy to interface. 

But please note that when using these alternative boards I still need to modify 
the Verilog code for that specific hardware layout, but I will not that much 
work anymore. 

Anothe alternatives that I found are the following boards: 

a. https://micropython.org/ 
- The MicroPython pyboard is a nice system tailord to run Python as its main 
language. But it misses some components to run 64bit PilMCU because it is 
mainly using a 32bit ARM MCU. I think the mini-PicoLisp will be the ideal 
option for this board. 

b. https://www.pine64.org/?page_id=1194 
- This would be my ideal system to port PilMCU, its using a 64bit ARM MCU and 
it got most of what we need. However there is no external ROM for the kernel 
but we can use the internal ROM within the ARM MCU. 

But because these two boards are using ARM based MCU's, it will defeat the 
PilMCU's goal, to run 64bit PicoLisp on bare metal. So if we go to this option, 
the proper term to use is we will port PilOS to run on this boards. 
But again they are ARM based so you can also install Linux or Android then run 
PicoLisp over them. 

If we go with this option, then it would be better to use their Pinebook: 
https://www.pine64.org/?page_id=3707 

And port PilOS so that we have a full computing system with PicoLisp as its 
main language and OS. 

But I still like to have a PilMCU chip made, but this depends how many are 
interested and how we proceed to make this into the market. 

So lets just see, looking forward for more comments and suggestions ;) 



BR, 
geo

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


Re: PilMCU status

2017-04-17 Thread George Orais
Hi Rowan,
Thanks!!
About my email, maybe its because I am using yahoo and sometimes I forget to 
switch it to plain text mode?I will just use my google then to make sure its 
always in plain text.
But your email actually also went to my spam so hmm which is indeed strange.. I 
think Alex can answer this better ;)

BR,geo
 

On Tuesday, April 18, 2017 10:36 AM, Rowan Thorpe  
wrote:
 

 (geo: I just saw the video - great work!)

regenaxer: I suspect there is something subtly strange with the
mailing-list configuration - for some reason none of the recent emails
to the list from geo got through to me, but everyone else's did (I
read the thread on the list's web-archive OK, but it got me wondering
if any other emails never got through). Because the list-software
doesn't set SPF/DKIM headers, at first I thought it was just my spam
filters being overzealous, but his emails are not in my spam folder
either (yet older spam messages are still there, so they hadn't been
put there and then purged). Even though I never delete list-emails I
checked to see if I'd somehow accidentally deleted only his and no-one
else's(!), but they weren't in the "trash" either. Other people have
clearly received his emails via the list, so my guess is that Google
servers (and perhaps others) are bouncing certain list-emails - from
geo at least - for some obscure reason. Could you please check if your
logs show bounced messages with unusual responses? Can anyone
registered to the list with a Google Apps or Gmail address
confirm/deny they had the same problem?

-- 
Rowan Thorpe
http://twitter.com/rowanthorpe
"There is a great difference between worry and concern. A
worried person sees a problem, and a concerned person solves a
problem." - Harold Stephens
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


   

Re: PilMCU status

2017-04-14 Thread George Orais
Hi AW,
> Geo, definitely if you have spare time between job searching, I want to try 
> it :D
Sure! Let's see how we can meet ;)

> I live in Kamakura (near the beach) and have a couple iCE40 8K dev FPGA 
> boards 
> (http://www.latticesemi.com/en/Products/DevelopmentBoardsAndKits/iCE40HX8KBreakoutBoard.aspx)
>  if you want to borrow one to test.
Oh! Haven't been there yet, I'm here in Shiojiri.. wow! these are cool FPGA's 
indeed! but hmm looks like it doesn't have the necessary device inorder to have 
PilMCU running.The requirement for PilMCU system is a ROM, RAM and SSD.

> It also has a fully open source synthesis toolchain (reverse engineered 
> bitstream) - http://www.clifford.at/icestorm/ - which is great compared with 
> Xilinx/Altera licensing.
Cool! This is indeed better coz it's open source! My Quartus II is just the 
free version.. this would be indeed a great alternative and maybe a better 
solution?

> In any case, your board is really great work and definitely has a lot of 
> potential.
Thanks! I hope it can attract some backers soon ;)

> You can email me here:
Ok will PM you there, thanks!

BR,geo
 

On Friday, April 14, 2017 1:58 PM, Alexander Williams 
 wrote:
 

 Geo, definitely if you have spare time between job searching, I want to try it 
:D
I live in Kamakura (near the beach) and have a couple iCE40 8K dev FPGA boards 
(http://www.latticesemi.com/en/Products/DevelopmentBoardsAndKits/iCE40HX8KBreakoutBoard.aspx)
 if you want to borrow one to test.
It also has a fully open source synthesis toolchain (reverse engineered 
bitstream) - http://www.clifford.at/icestorm/ - which is great compared with 
Xilinx/Altera licensing.
In any case, your board is really great work and definitely has a lot of 
potential.
You can email me here:
  
http://www.google.com/recaptcha/mailhide/d?k=01yPoiXxXt6Yjq7D9aF2oJJg===W3CYLO5kNNqFW-xuPJfEMSowC6hKyD1vQZgSGtvw3mU=
Thanks,

AW

   

Re: PilMCU status

2017-04-13 Thread George Orais
Hi Kuba, Christopher and AW! 

Sorry but let me reply you all in just one post. 


> Hi Geo, 

Hey Kuba! 


> Wow, this is so cool, we all thought you went completely missing but it seems 
> you’ve been putting a ton of work into this, including a whole PCB 
> “motherboard” (I remember your original prototype was simply using an Altera 
> dev board). 

Thanks! Wow you have a great memory! Yes that was indeed my first plan but I 
decided to build a custom board so that I can choose my prefered components to 
also help me ease up the Verilog coding. 
The Altera dev board was using SDRAM which is a bit trivial especially if not 
using the NIOS II softcore. But if using NIOS II it will defeat the purpose of 
running PicoLisp VM in bare metal. 
But later on I can port PilMCU to other FPGA boards but let me polish all the 
remaining tasks first ;) 


> I haven’t finished watching the video but gotten up to 20 minute mark where 
> you typed (+ 1 2 3 4 5) - so the machine works. 

Oh! Thanks for watching! Sorry to have a long video, I'm just not fluent with 
English and have to pause often due to the unexpected interuptions like the 
auto-focus.. but I hope everyone had fun watching the video until the end :) 


> Awesome job! 

Thank you! But still need to improve some areas as well as the missing I/O 
ports need to be done, but its already in progress. 




> Hi, this looks very cool. I'm very impressed. A few questions: 

Hi Christopher! Thanks! 


> 1) When do you start crowdfunding so we can preorder? 

Actually I would love to have it as soon as now but let me polish some areas 
first. 
We need someone who is more incline in diealing with such transactions like the 
Kickstarter or Indigogo? I remember someone voluntered on this matter because 
me and Alex are not so into business related stuff :) I think it was Jakob 
Eriksson? 
Also to consider is we need to finalize what we want to have on this board to 
have a smaller and compact board. I already have version 2 in mind but I would 
like to hear from everyone interested what they want to expect on final board. 


> 2) Is this (or will this be) an open hardware project? 

Yes it should be open hardware project because PicoLisp itself is open source. 


> 3) Are there PilMCU codes to be released in some repo or tarball? 

It will be in tarball which is the usual way of Alex. I also can post it on 
github but let me polish things first. 
But please note that the PilMCU codes that will be release is the PicoLisp 
part, Verilog codes will not be exposed because it's anyway not the code that 
you need to develop with. 


> 4) From what I understood one of the arguments against having arrays in 
> PicoLisp is that you would be expected to use arrays in a C library and 
> use them through FFI. Do I conclude correctly then that there would be 
> no access to arrays on a PilMCU system? 

Alex already answered this question on another thread but if you ask me, yes 
because PilMCU is standard PicoLips environment. 
And PicoLisp uses list data structure as the main option for arrays. 




> Hi Geo, 

Hi AW! 


> This is so amazing!! Thank you so much for the video. 

Thank you too for watching!! 


> I think others will likely ask, but is this going to be licensed openly? 
> hardware designs etc open sourced on GitHub? 

As i mentioned in above, yes this is licensed openly. The hardware schematic is 
open but for the PCB layout, it was done by my Chinese coleague but anyway the 
schematic drawing is already enough to be used as reference. 
For the code, the PicoLisp codes will be available via tarballs or github 
(depend to Alex) but for the Verilog part, I plan not to expose it because 
anyway it is not the code that you need to develop with. 


> How quickly can you make more of these boards? I'm currently also living in 
> Japan and would love to get my hands on one ;) 

Oh! Where in Japan are you currenlty located? Maybe we can meet and let you try 
the actual board. Unfortunately it depends how fast we could have the 
crowdfunding. 
I still got some spare PCB boards but I dont advise to use that to build more 
boards because it still got some schematic and PCB design issues. 
The fastest way to play with PilMCU would be using PilOS or as in an emulator. 
Another alternative is to port PilMCU to be used in other off the shelves FPGA 
dev kits but this will be a bit time consuming. 
But lets see how it goes maybe we could have the crowdfunding soon this year :) 
It would be nice to have these boards produced here in Japan... 




Again, thanks everyone for watching. As of the moment there is only one board 
but once we can accomplish one of the goals which is to have it mass produced, 
it will be fun to develop some device drivers using PicoLisp codes. 


But if you are eager to try PilMCU, either I can let you access the board 
remotely or you can draft your codes using PilOS and I will paste it here on my 
side to test your codes. 


Actually there is also an 

Re: PilMCU status

2017-04-12 Thread George Orais
Hi List!


At last here is the link for the demo video of PilMCU in action!

https://youtu.be/mMgIvITAMBc

I hope you will enjoy the show :)

Again, my special thanks to Alex for his great idea and support on this project.

Let's see how it goes and will keep you all posted.


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


Re: PilMCU status

2017-04-03 Thread George Orais
Hi Alexander and Rowan,
Thank you for your interest on PilMCU :)
I kept the progress in silent because of the slow pace for I only able to work 
on this on my free time.
We plan to announce it once I have finished the demo video but due to my recent 
move to Japan I have to settle some urgent matters.But I can say it will be 
posted within this week for sure ;)
So yes, PilMCU is now running on an actual FPGA!! I used an affordable FPGA 
board from Waveshare which contains an Altera Cyclone IV.But I decided to build 
my own devkit which I called PISCES: PicoLisp In Silicon Chip Evaluation System
I am tempted to attach a picture of it but I remember that it caused some 
issues on the mailing list? So please wait for the video presentation on my 
youtube account soon :)
The devkit is a bit huge compared to RPi, Arduino, BeagleBoard.. because I 
designed it to have individual I/O port for VGA/PS2 module, TouchLCD module, 
Ethernet module and Wifi module.But this is still the first revision, we still 
can trim this down to a more compact system. Also, all the modules mentioned 
still need device drivers either in PIL64 asm or in PicoLisp itself, still need 
to ask Alex on this.
We had a great adventure to make the system work and when seeing the prompt and 
evaluating lisp code for the first time, the feeling was great!! Especially 
when file system using DB, parenthesis checking, auto-complete by tab key and 
command history by up/down key were working, the feeling was awesome!! :)
Sorry for this long reply, will keep you posted!!

BR,Geo


 

On Monday, April 3, 2017 6:03 PM, Rowan Thorpe  
wrote:
 

 On 3 April 2017 at 06:57, Alexander Williams  wrote:
> ..[snip]..
> I discussed this briefly in the chat, but I would like to know the current
> status of PilMCU (initial announcement here:
> ..[snip]..
> In any case, I think this project is very interesting and I would love to
> get involved with it.
> ..[snip]..
> running on actual hardware, I would be more than willing to pay for a simple
> devkit in order to hack on this.

I'll just throw in my +1 to all those points. I'd kept every PilMCU
email thread labelled "followup" for the same reasons. At risk of
triggering a long thread of content-less "+1"s, I think it is helpful
to point out that AW's request is not a one-off anomaly, but that
there are several of us out here *dying* to mess around with this, and
to help it reach such a usable point, in whatever ways we can, if we
can(?).

-- 
Rowan Thorpe
"There is a great difference between worry and concern. A
worried person sees a problem, and a concerned person solves a
problem." - Harold Stephens
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


   

Re: Announce ARMv8 (arm64) version of 64-bit PicoLisp released

2015-11-16 Thread George Orais
Congrats!! Great job Alex!!
Hopefully i can give a same great news soon..


 On Tuesday, November 17, 2015 3:08 AM, Rick Hanson  
wrote:
   

 > I'm glad to announce that the arm64 port of pil64 is done! :)

Very nice!  Congrats!

I also noticed the handy pil-based build script.  "We don't need no
stinkin' make!"  ;)  Cheers!
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


  

Re: aix + netbsd

2015-10-12 Thread George Orais
Nice! Thanks Mike! Btw, any chance for IRIX? :) 


 On Monday, October 12, 2015 4:07 PM, Mike Pechkin  
wrote:
   

 hi,

News from porting sandbox.

Latest AIX 7.1 (7100-03-05-1524) and
NetBSD 7.0 compiled out of box and passed tests.

Mike


   

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 abu@software-labde 
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: Booting PilOS

2015-07-10 Thread George Orais
Hi Alex,
I think i got some leads why some of us got stuck with Checking long mode
What i noticed is the that if i insert some message printing on most parts of 
the code between Loading PilOS and Checking long mode, i will arrive on the 
real error which is ERROR: CPU has no local APIC.
I check my BIOS how to enable APIC but seems my BIOS does not have such option. 
So my plan is to enable APIC through assembly code but didn't work, any idea?
But before that i want to resolve why the code will not work properly if 
without the newly inserted message printing.. is it about code misalignment? 
Maybe it differs per CPU model?

BR,Geo
 


 On Thursday, July 9, 2015 9:10 PM, Alexander Burger a...@software-lab.de 
wrote:
   

 Hi Geo,

 Indeed! ok so time to install qemu.. but hmm if the current pilOS
 works on your qemu then it would not help right? Or does qemu also
 depends on its host hardware that its running?

I think it doesn't. After all, qemu can emulate various systems.



 Hmmm might be helpful if we can refer how those liveUSB handle their boot-up?

Perhaps. But I think they do some things by their own, not depending on
the BIOS.

For example, they do probably implement their own USB library, and their
own disk I/O. I didn't want to go so far, as the BIOS is supposed to do
what we need.


But, anyway, the other current problem - detecting 64-bit long mode - is
not an issue of the BIOS but of the CPU alone.

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


  

Re: Booting PilOS

2015-07-09 Thread George Orais
Hi Alex,

 The problem is that this is a bit tedious (unless using e.g. qemu) because 
 you have to put the test onto the USB-stick each time and reboot the test 
 machine with it.
Indeed! ok so time to install qemu.. but hmm if the current pilOS works on your 
qemu then it would not help right? Or does qemu also depends on its host 
hardware that its running?

 Hmm, perhaps, but I don't know how. Because we *need* to read the sectors 
 from the stick, don't we? Perhaps there is another way to format the boot 
 partitions and/or use another BIOS call. I just don't know about it.
Hmm ok I think there should be a generic way to do this.. will see what i can 
find then..

 Also, it would be good to know if VirtualBox *really* doesn't support this 
 BIOS call, or if there is some other reason why it fails.
I think it should support coz i think almost all virtual machines should work 
as much as possible as near as an actual standalone hardware? But lets see..

Hmmm might be helpful if we can refer how those liveUSB handle their boot-up?
BR,geo



 


 On Wednesday, July 8, 2015 8:25 PM, Alexander Burger abu@software-labde 
wrote:
   

 Hi Geo,

 OK did a quick peek and most of them are in x86 assembly hmmm

Yeah. Basically calls to the 'cpuid' instruction to question the CPU for
its parameters.

 I see, so it means it got stuck somewhere on the checking, would it be
 possible to be inside an infinite loop?

I believe that the 'cpuid' instruction cannot loop or crash. Rather, I
suspect that for some reason the following messages are not printed
because the CPU got into an unknown state.


 it possible to have a debug mode for PilOS that it will not overwrite
 the messages?

Yes. What I did usually during development is inserting more 'print'
messages, similar to

  mov $LongMsg, %si
  call print

and and/or stopped the CPU with

  jmp stop

so that the blue VGA screen of PilOS doesn't overwrite the boot screen.


Even easier is, if you re-use some existing message, e.g. Loading
PilOS (which is in 'LoadMsg') and then jump directly to 'bootError'
which will output the message and stop the CPU.

So if you insert

      mov $LoadMsg, %si
      jmp bootError

after e.g. the first 'cpuid' call, and you see Loading PilOS appearing
a second time, you are sure that the boot got this far.

The problem is that this is a bit tedious (unless using e.g. qemu)
because you have to put the test onto the USB-stick each time and reboot
the test machine with it.



 This is done via BIOS interrupt 0x13:
 
https://en.wikipedia.org/wiki/INT_13#INT_13h_AH.3D42h:_Extended_Read_Sectors_From_Drive
 I think VirtualBox doesn't support this interrupt call.

 I see, ok noted. But still this can be reworked right?

Hmm, perhaps, but I don't know how. Because we *need* to read the
sectors from the stick, don't we?

Perhaps there is another way to format the boot partitions and/or use
another BIOS call. I just don't know about it.

Also, it would be good to know if VirtualBox *really* doesn't support
this BIOS call, or if there is some other reason why it fails.

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


  

Re: Booting PilOS

2015-07-08 Thread George Orais
Hi Alex,
 That's interesting! i3 is a 64-bit CPU, right? So the check for long mode 
 doesn't work? I would at least expect an error message.
Yes it is also a 64-bit, just now i also got the same result here at my room's 
PC which is an AMD64, how is the checking done btw?

 The checks are done in pilos/x86-64/beg.l starting from line 32. If the 
 checks were successful, it should next print Initializing memory. 
 Otherwise, we should see ERROR: CPU does not support long mode or ERROR: 
 CPU has no local APIC.
OK did a quick peek and most of them are in x86 assembly hmmm

 Normally, all those messages are not visible, because the boot is so fast 
 that they are overwritten quickly. ...  No, it all goes in a tiny 
 fraction of a second. Normally, you don't see any of the messages.
I see, so it means it got stuck somewhere on the checking, would it be possible 
to be inside an infinite loop? hmm if only there is a WDT... is it possible to 
have a debug mode for PilOS that it will not overwrite the messages? Like it 
will just do a newline per message like we did with pilMCU emulator version? 
Might be useful during polishing pilOS to able to boot in all different x86-64 
hardware..

 I think other people also tried VirtualBox, and said it doesn't work. It 
 doesn't even load the remaining sectors from the drive. This is done via 
 BIOS interrupt 0x13:  
 https://en.wikipedia.org/wiki/INT_13#INT_13h_AH.3D42h:_Extended_Read_Sectors_From_Drive
  I think VirtualBox doesn't support this interrupt call.
I see, ok noted. But still this can be reworked right? Coz it would be nice to 
have it boot in all cases as long as its x86-64 machine, correct?

 Alex, you already got the following results, I'm just reposting them to the 
 list as well. I have tried PilOS on the following machines:
Hi Mattias, thanks for sharing your list! It looks like the current pilOS is 
tailored for Acer hardware's hmmm might make sense coz Alex developed it on his 
Acer laptop as well...


BR,Geo


 


 On Wednesday, July 8, 2015 6:57 PM, Mattias Sundblad 
mattias@gmail.com wrote:
   

 Hi George and Alex,

 Yes! i was able build the image and immediately tried it using my USB stick, 
 it's working!!! but I'm stuck at Checking long mode.. maybe because I'm 
 trying it under an Intel i3? Let me try it with my AMD machine back in my 
 room and feedback to you how it goes... this is great!!

I ran into the same message when trying to boot PilOS on an Asus UL30A,
this machine has a core2duo cpu.

Alex, you already got the following results, I'm just reposting them to the list
as well.

I have tried PilOS on the following machines:

*Acer Aspire One 722, AMD C-60 cpu
Everything works fine on this machine.

*Lenovo Thinkpad x201i, i3 cpu
Fails with the message READ ERROR 08

*Lenovo Thinkpad x230, i5 cpu
Fails with the message READ ERROR 01

*and finally the Asus UL30A, Core2Duo cpu
Does not get past the message Checking long mode

Best regards,
Mattias

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


  

Re: Booting PilOS

2015-07-08 Thread George Orais
Hi Alex,
 Oops, sorry. My fault! init/.pil/history was added recently, and I forgot 
 to include it into the release script. Please download once more 
 pilos.tgz.

Yes! i was able build the image and immediately tried it using my USB stick, 
it's working!!! but I'm stuck at Checking long mode.. maybe because I'm 
trying it under an Intel i3? Let me try it with my AMD machine back in my room 
and feedback to you how it goes... this is great!!


 I think that currently there is no special dependency on AMD, though I used 
 only the AMD CPU manuals.
OK noted, and yes i agree with that.. but lets keep an eye on this..

BR,Geo


 


 On Wednesday, July 8, 2015 1:56 PM, Alexander Burger abu@software-labde 
wrote:
   

 Hi Geo,

thanks for the feedback! :)


 I tried building them and here is what i get:
 * First release: make will generate x86-64.bin* Latest release: make:
 *** No rule to make target `init/.pil/history', needed by `db.bin'. 

Oops, sorry. My fault! init/.pil/history was added recently, and I
forgot to include it into the release script.

Please download once more pilos.tgz.


 I used pil 3.1.11.1

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


  

Re: Booting PilOS

2015-07-08 Thread George Orais
Hi Alex,
Another feedback is i try to boot it on my VirtualBox and I'm seeing Loading 
PilOS but its already a while, is this expected?

BR,Geo
 


 On Wednesday, July 8, 2015 4:41 PM, George Orais gpor...@yahoo.com wrote:
   

 Hi Alex,
 Oops, sorry. My fault! init/.pil/history was added recently, and I forgot 
 to include it into the release script. Please download once more 
 pilos.tgz.

Yes! i was able build the image and immediately tried it using my USB stick, 
it's working!!! but I'm stuck at Checking long mode.. maybe because I'm 
trying it under an Intel i3? Let me try it with my AMD machine back in my room 
and feedback to you how it goes... this is great!!


 I think that currently there is no special dependency on AMD, though I used 
 only the AMD CPU manuals.
OK noted, and yes i agree with that.. but lets keep an eye on this..

BR,Geo


 


 On Wednesday, July 8, 2015 1:56 PM, Alexander Burger abu@software-labde 
wrote:
   

 Hi Geo,

thanks for the feedback! :)


 I tried building them and here is what i get:
 * First release: make will generate x86-64.bin* Latest release: make:
 *** No rule to make target `init/.pil/history', needed by `db.bin'. 

Oops, sorry. My fault! init/.pil/history was added recently, and I
forgot to include it into the release script.

Please download once more pilos.tgz.


 I used pil 3.1.11.1

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


   

  

Re: Booting PilOS

2015-07-07 Thread George Orais
Hi Alex,
Actually i did try to boot this since from your first release but until now i 
still cant make it boot, it pauses for a while then proceed to the default OS 
stored on the hard drive.. Next plan is to build it within the machine i want 
to boot on it.. Btw does Intel or AMD matter on this?

BR,Geo
 


 On Sunday, July 5, 2015 5:19 PM, Alexander Burger a...@software-lab.de 
wrote:
   

 Hi all,

today I got the *first* positive feedback of booting PilOS on a physical
machine (i.e. not qemu etc.), from Mattias Sundblad. Thanks again!

Strange that nobody else seems to succeed (or has ever tried?)!
. after quite some hype here about PilMCU and later PilOS.


I'd like to find out reasons why it possibly might not work. Until now I
definitely only knew that it boots on my own Acer TavelMate P-253E, as I
have no other machine to test it on.

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


  

Re: Booting PilOS

2015-07-07 Thread George Orais
Hi Alex,
I tried building them and here is what i get:
* First release: make will generate x86-64.bin* Latest release: make: *** No 
rule to make target `init/.pil/history', needed by `db.bin'.  Stop.
I used pil 3.1.11.1

BR,Geo

 


 On Wednesday, July 8, 2015 10:27 AM, George Orais gpor...@yahoo.com 
wrote:
   

 Hi Alex,
Actually i did try to boot this since from your first release but until now i 
still cant make it boot, it pauses for a while then proceed to the default OS 
stored on the hard drive.. Next plan is to build it within the machine i want 
to boot on it.. Btw does Intel or AMD matter on this?

BR,Geo
 


 On Sunday, July 5, 2015 5:19 PM, Alexander Burger a...@software-lab.de 
wrote:
   

 Hi all,

today I got the *first* positive feedback of booting PilOS on a physical
machine (i.e. not qemu etc.), from Mattias Sundblad. Thanks again!

Strange that nobody else seems to succeed (or has ever tried?)!
. after quite some hype here about PilMCU and later PilOS.


I'd like to find out reasons why it possibly might not work. Until now I
definitely only knew that it boots on my own Acer TavelMate P-253E, as I
have no other machine to test it on.

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


   

  

Re: PilMCU is dead - Long live PilOS!

2015-06-22 Thread George Orais
Hi Kuba,
Thanks! Will check it out and PM you how it goes.. cheers!
-geo

 


 On Monday, June 22, 2015 10:00 AM, Kuba Tyszko k...@lbl.pl wrote:
   

 Hi Geo,

How about ready-made code to support sdram on altera?:

https://github.com/stffrdhrn/sdram-controller

This was written by my buddy Stafford Horne

Give it a try and let me know how it goes...

Cheers


Sent from my iPhone

 On Jun 21, 2015, at 20:36, George Orais gpor...@yahoo.com wrote:
 
 Hi Alex,
 I see! That's indeed great, thanks! This is really good stuff Alex.
 
 Hi Kuba,
 Sorry the progress was so slow because crazy schedule at work.. for pilMCU 
 I'm stuck with mobile DDR SDRAM interface, it's not as straight forward as 
 SRAM so tentatively i'm planning to fabricate a FPGA board with Cypress Async 
 SRAM to be more near from our original implementation. I can share you the 
 planned schematics if you want to help.
 BR,geo
 
 
 
 
 
    On Sunday, June 21, 2015 10:06 AM, Kuba Tyszko k...@lbl.pl wrote:
 
 
 Great stuff,
 I was just going to ask Geo whether this means to end of Picolisp on fpga=
--
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

  

Re: PilMCU is dead - Long live PilOS!

2015-06-21 Thread George Orais
Hi Alex,
I see! That's indeed great, thanks! This is really good stuff Alex.

Hi Kuba,
Sorry the progress was so slow because crazy schedule at work.. for pilMCU I'm 
stuck with mobile DDR SDRAM interface, it's not as straight forward as SRAM so 
tentatively i'm planning to fabricate a FPGA board with Cypress Async SRAM to 
be more near from our original implementation. I can share you the planned 
schematics if you want to help.
BR,geo


 


 On Sunday, June 21, 2015 10:06 AM, Kuba Tyszko k...@lbl.pl wrote:
   

 Great stuff,
I was just going to ask Geo whether this means to end of Picolisp on fpga..

Re: PilMCU is dead - Long live PilOS!

2015-06-20 Thread George Orais
This is great! Will try it soon, thanks!
I'm really sorry about pilMCU, actually I'm still pursuing to build it but as 
of the moment time is not on my side... but still hoping someday soon... btw, 
if ever pilMCU is implemented, will PilOS work immediately over it? 


 On Saturday, June 20, 2015 6:35 AM, Jakob Eriksson 
ja...@aurorasystems.eu wrote:
   

 
Thank you!



On 19/06/15 22:16, Alexander Burger wrote:
 Hi all,

 I'm happy to announce PilOS - The PicoLisp Operating System!

 It is a modification of the infamous PilMCU, which unfortunately doesn't
 seem to get off the ground. So in order not to have wasted all that
 effort, I decided to let it run on standard PC hardware, basically
 directly off the BIOS.

 In the future, we might think of utilizing it in embedded systems.

 I release it free to the public. It is currently just a toy project,
 which gave me lots of fun during the last two weeks.

 You can read more about it, watch a demo video, and download all at

    http://picolisp.com/wiki/?PilOS

 ♪♫ Alex

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


  

Re: In ersatz, seed is not returning a small number

2015-04-29 Thread George Orais
Hi Chris and Alex,


Just for curiosity, here is the result from pilMCU and Picolisp:


pilMCU (under vvp emulator with removed ssd-to-RAM init to boot faster)

geo@geo-VirtualBox:~/pilMCU$ vvp -M. -mtty mcu
Loading ssd@... 125952 bytes
Loading ssdA... 4096 bytes
Clearing registers...
Set stack pointer...
Finding  separator...
Loading data's to heap...
Init DBFiles...
Starting pil...
: (rand 0 1000)
- 0
: (rand 0 1000)
- 648
: (rand 0 1000)
- 723
: ** VVP Stop(0) **
** Flushing output streams.
** Current simulation time is 592598 ticks.
 finish
** Continue **
geo@geo-VirtualBox:~/pilMCU$ vvp -M. -mtty mcu
Loading ssd@... 125952 bytes
Loading ssdA... 4096 bytes
Clearing registers...
Set stack pointer...
Finding  separator...
Loading data's to heap...
Init DBFiles...
Starting pil...
: (rand 1 1000)
- 1
: (rand 1 1000)
- 934
: (rand 1 1000)
- 248
: ** VVP Stop(0) **
** Flushing output streams.
** Current simulation time is 592526 ticks.
 finish
** Continue **
geo@geo-VirtualBox:~/pilMCU$ 



Picolisp (3.1.7.17):

geo@geo-VirtualBox:~/pilMCU$ pil +
: (rand 0 1000)
- 0
: (rand 0 1000)
- 648
: (rand 0 1000)
- 723
: (bye)
geo@geo-VirtualBox:~/pilMCU$ pil +
: (rand 1 1000)
- 1
: (rand 1 1000)
- 934
: (rand 1 1000)
- 248
: (bye) 
geo@geo-VirtualBox:~/pilMCU$


And Alex is right, it is all identical to pil64 ;)



BR,
geo



On Wednesday, April 29, 2015 1:43 PM, Alexander Burger a...@software-lab.de 
wrote:



On Tue, Apr 28, 2015 at 09:59:00PM +0200, Christophe Gragnic wrote:
  Is it really so important that the random generators give the same
  results?
 
 Not so much important indeed, not crucial, but very interesting!
 
  I had never intended that. The reason is that the random generator
  should be as simple (fast) as possible,
 
 Let's sum up what we have now concerning pil32 and ersatz:

The problem is that you focus too much on pil32. I regard pil32 as
obsolete! The standard system for reference is pil64. And for small
systems, miniPicoLisp makes a lot of sense.

There are, and will always be, a lot of differences between those
systems.


 And pilMCU ? Ha ha, I'm just curious !

That's identical to pil64 in this regard :)


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


Re: Another stack based CPU: J1

2015-04-14 Thread George Orais
Hi Dave,
Thanks for sharing this info :)
I think i met something similar of this before, it was also a Forth machine And 
it was developed by the Forth language designer Charles Moore. I think it was 
called GreenArrays something?
Btw the pilmcu progress got a bit slow due to some other urgent works to be 
done back at the office. But it still going on just in slow pace, will update 
everyone once i can provide a better news, cheers!

BR,Geo
 


 On Tuesday, April 14, 2015 10:49 PM, Loyall, David 
david.loy...@nebraska.gov wrote:
   

 Today on HN I read about a tiny stack-based CPU called J1.

This is its homepage: http://www.excamera.com/sphinx/fpga-j1.html and here is a 
more formal description: http://www.excamera.com/files/j1.pdf

Here is the quote that made me bring this topic to the picolisp mailing list:

    The J1 is probably close to the simplest possible useful CPU.

Alexander, do you agree with that statement?  Is the J1 the same as pil?

Are there any neat tricks James Bowman used that could be useful in pilmcu?

Cheers,
--Dave

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

  

Re: Merry Christmas!

2014-12-25 Thread George Orais
Merry Christmas to Everyone and thank you Alex for this wonderful tool ;)

 

 On Thursday, December 25, 2014 7:49 PM, Alexander Burger 
a...@software-lab.de wrote:
   

 Hi Mattias, hi all!

On Wed, Dec 24, 2014 at 09:37:30AM +0100, Mattias Sundblad wrote:
 I'd like to wish everyone on the list a merry christmas and a happy new
 year.

Thanks, and the same to everyone! :)
♪♫ Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


   

Re: pilMCU progress (slowed)

2014-11-25 Thread George Orais
Hi Kuba!
I see that Jakob and Alex already covered most of your inquiry, but i'll just 
answer you too ;)

 First of all, great progress with the pilMCU so far, I hope the EEPROM 
 continues to work and you can move on to the next step.
Thanks!! and yes, i utilized one push button so that every time i press it it 
will increment the PC counter then it will fetch from EEPROM the stored 
bytecode :) now i'm a bit busy with work coz of the coming CES :( but don't 
worry, the I2C hurdle was done so EEPROM write should be already done, just 
need to properly align the state machine inside ;)

 A small suggestion - please put big image files on some site (imgur etc) and 
 attach - it would be easier, downloading large email file takes time (I don't 
 use webmails like gmail).
Oh! sorry about that and actually Jakob already called out on this, sorry 
everyone i this will not happen again, either i change to smaller resolution or 
use an external link as Kuba suggested

 Further, I have a couple questions on the implementation,  you said you had 
 an emulator running picolisp already - 
yes, we still got it ;)

 is this actually the whole picolisp converted somehow to a dedicated CPU 
 running on FPGA, or is that an actual CPU emulated (say some kind of ARM), 
 and picolisp compiled for that CPU ?
as Jkob said, its a new 64bit CPU :)

 I'm just trying to have a sense of what the pilMCU will become - will it be 
 running on some kind of microcontroller, or will it actually run on a FPGA 
 with a dedicated CPU, or maybe will it be some kind of ARM or MIPS core  
 running on FPGA running the picolisp ?
As of the moment, its the will it actually run on a FPGA with a dedicated 
CPU. This is just considered as prototype stage? And once we got this running 
and able to get the funding we need? we will proceed of doing it to ASIC? or 
even better but expensive, fabricate it to an actual standalone microchip? this 
would be the ultimate goal, but does ASIC version has the same purpose correct? 
but yes, the goal is to have a pilMCU chip on its own development board in 
which would look like RPi, or TI BB or other microcontroller kits these days 
that are capable of running Linux? once we got this running Alex already 
started implementing an OS which is now stored on an SD card :)

 Think for example of micropython or armpit-scheme - those are able to run on 
 many microtrollers, I personally run them on a STM32F4 that's quite powerful 
 (1MB flash, 200KB RAM) - pretty good for a mictrocontroller
ah yes i think i read it somewhere? but hmm the difference is this still is not 
considered as bare metal running of python or scheme, they still rely on a 
small vm inside the microcontroller correct? or do you mean python and scheme 
is used as programming syntax but then it is compiled to a STMicro binary?
As mentioned by Alex, there is the miniPicolisp, im not sure on which MCU it 
was run, something like Arduino maybe? Give it a try if you have time ;)

BR,geo 

 On Tuesday, November 25, 2014 10:14 PM, Alexander Burger 
a...@software-lab.de wrote:
   

 Hi Kuba,

in addition to what Jakob said:

 Think for example of micropython or armpit-scheme - those are able to
 run on many microtrollers, I personally run them on a STM32F4 that's
 quite powerful (1MB flash, 200KB RAM) - pretty good for a
 mictrocontroller

I compiled miniPicoLisp here on an STM32F4-Discovery. Works almost
without changes, basically I removed only the command line parsing
stuff, and decreased the allocation size from 1 MB to 32 kB.

As miniPicoLisp now can compile Lisp expressions to C code (see also
http://picolisp.com/wiki/?miniCodeROM), you can incrementally test Lisp
functions in the 196 kB of RAM and then move them to ROM.

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


   

Re: The many uses of PilMCU

2014-10-13 Thread George Orais
Hi Heow,

Looks great!! Thanks and yes i agree with the the details on Fast Dev ;)

Keep posted, cheers!

BR,
geo



On Tuesday, October 14, 2014 8:49 AM, Heow Goodman li...@alphageeksinc.com 
wrote:
 


My apologies, should have been more verbose.  Now in the wiki:

KEY

The left column denotes price. For instance $100x is 100
TIMES the consumer purchase price.

Similarly the top column denotes efficiency or performance,
as an example 5x slower means 1/5th the speed of a similar
consumer device.This must be based on the context of the
contents, we're not building a 3D graph.

This is because people want to build a variety of devices:

  * 3D goggles
  * mobile phone
  * genetic testing cluster
  * game system
  * wearable

The price and performance of these tasks varies as wildly as our
expectations.  Right now we have no idea how performant it will be or
how much it will cost.  This is where the wiki comes in, to outline
ideas based on which bucket the idea falls into.

- h


On 2014-10-13, 4:53 PM, Jakob Eriksson wrote:
 I don't understand the leftmost column with the dollars.
 
 On 2014-10-13 22:38, Heow Goodman wrote:
 I've started a wiki document:

  http://picolisp.com/wiki/?pilMCU

 Will flesh it out over the next few days.

 - h

 On 2014-10-7, 4:36 PM, Christophe Gragnic wrote:
 Hi list !

 This thread is meant to collect ideas about PilMCU.
 At least mine (because I need to clean them up a bit)
 and ideas of other PicoLispers (out of curiosity).

 Maybe some items will look more like questions like «is it even
 possible?»!
 (This email took me at least two weeks of careful drafting.)

 May this thread help Alex and George to refine their biz-plan!

 My ideas are all related to the language I embed in PicoLisp:
 http://microalg.info
 I dream about a small box that would interpret this language and
 interact
 in several ways with the user (output of course, but input like coding
 the box too,
 as well as typing words or other (gaming) peripherals).

 Now I may go in more details. I'm not saying that Alex and George
 may build this box, but could consider enough flexibility and
 connectivity
 for someone to be able to build this kind of project based on their
 project

 

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

Re: MiniPicoLisp Code in ROM

2014-10-07 Thread George Orais
Great stuff Alex!! Btw would this be also applicable on pilMCU? or is this 
already something considered on the current pilMCU? 


On Tuesday, October 7, 2014 4:23 PM, Jakob Eriksson ja...@aurorasystems.eu 
wrote:
 


Great news 


On October 7, 2014 8:27:45 AM CEST, Alexander Burger a...@software-lab.de 
wrote:
Hi all,

definitions in miniPicoLisp can now be put into ROM space. This helps to
save precious RAM on embedded systems.

I've put an article about how to do this into the Wiki:

http://picolisp.com/wiki/?miniCodeROM

♪♫ Alex
-- 
Skickat från min Android-telefon med K-9 E-post. Ursäkta min fåordighet.

Re: pilMCU progress

2014-10-06 Thread George Orais
Thanks Andreas and Heow! will keep you posted :)


On Monday, October 6, 2014 7:50 AM, Heow Goodman li...@alphageeksinc.com 
wrote:
 


I haven't been this excited since I was 7 and waiting for Santa.

- h


On 2014-10-5, 3:17 PM, andr...@itship.ch wrote:
 Hi Geo
 
 Great stuff, keep it going! :-)
 
 Hi Everyone!

 Here is the first progress, ttyOut is working great ;) attached is the
 picture, sorry for the mess, will arrange this once my new PC will arrive.

 Next will be ttyIn then EEPROM so that i can load the ROM code using Tera
 Term, more updates to come, cheers!!

 BR,
 Geo


 
 

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

Re: Programming environment for PilMCU

2014-09-22 Thread George Orais
Hi Thorsten,

The pilMCU is the PicoLisp interpreter itself :) To interact with it, as of the 
moment we will use UART and use a PC as terminal. But later we plan to add PS/2 
and VGA as the means to interact with the hardware interpreter, i hope this 
answer your inquiry? Thanks!


BR,
Geo




On Monday, September 22, 2014 5:29 PM, Thorsten Jolitz tjol...@gmail.com 
wrote:
 


Alexander Burger a...@software-lab.de writes:

Hi Alex,

 Assuming PilMCU hardware exists and someone wants to use or program
 it, how
 would that look like? Where would one type the commands to manage the
 file system (whats the PilCMU terminal/console?), how would one interact
 with the PicoLisp REPL?

 You saw the copy/pasted session in my first post? That's exactly how you
 interact with it.

yes, but I wondered what would be the device the PicoLisp REPL runs on
in this case. 

 We have two I/O ports defined as TTY in- and output. On the real
 hardware you connect a terminal(program).

ok

 The SSD images contain a database, with a simple file system implemented
 in external symbols. These images are generated with a normal PicoLisp
 running on a standard PC, and then transferred to the SSDs.

ok

 I made the images so far by copying normal *.l files from standard
 PicoLisp to an init/ directory, and edited the files so that they were
 the way we need them for PilMCU.

thanks for the info!

-- 
cheers,
Thorsten

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

Re: Announce: PicoLisp in Hardware (PilMCU)

2014-09-22 Thread George Orais
Hi Sandeep and Andreas!

Thanks for your support :)

Andreas, thanks for your great inputs! It's indeed what we are looking forward. 
With everyone showing support and interest really is a motivation booster and 
now i'm preparing myself to next stage which is synthesizing the Verilog code 
to be used on actual FPGA board. I already found a good candidate for the FPGA 
board but if you want to see, these are my line-ups, sorry its in Chinese :(

Altera CycloneIV FPGA开发板/学习板 EP4CE6E22C8N 【可开发票】-淘宝网

  
  
Altera CycloneIV FPGA开发板/学习板 EP4CE6E22C8N 【可开发票】-淘宝网
欢迎前来淘宝网单片机/开发板/学习板-IC集成电路/电机-电子元器件市场-3C数码配件市场类实力旺铺,选购Altera CycloneIV 
FPGA开发板/学习板 EP4CE6E22C8N 【可开发票】,想了解更多Altera CycloneIV FPGA开发板/学习板 EP4CE6E22C8N 
【可开发票】,请进入zrtec...  
View on item.taobao.com Preview by Yahoo  
  

Altera FPGA 开发板学习板 NIOS 赠送USB下载器、电源线 EP4CE6-淘宝网

  
  
Altera FPGA 开发板学习板 NIOS 赠送USB下载器、电源线 EP4CE6-淘宝网
欢迎前来淘宝网选购热销单片机/开发板/学习板-IC集成电路/电机-电子元器件市场-3C数码配件市场商品Altera FPGA 开发板学习板 NIOS 
赠送USB下载器、电源线 EP4CE6,想了解更多Altera FPGA 开发板学习板 NIOS 赠送USB下载器、电源线 
EP4CE6,请进入dongguo100的店...  
View on item.taobao.com Preview by Yahoo  
  

FPGA开发板/CPLD开发板/学习板/视频教程/送下载器/包邮/ALTERA-淘宝网

  
  
FPGA开发板/CPLD开发板/学习板/视频教程/送下载器/包邮/ALTERA-淘宝网
欢迎前来淘宝网选购热销单片机/开发板/学习板-IC集成电路/电机-电子元器件市场-3C数码配件市场商品FPGA开发板/CPLD开发板/学习板/视频教程/送下载器/包邮/ALTERA,想了解更多FPGA开发板/CPLD开发板/学习板/视频教程/送下载器/包邮/ALTERA,请进入qqiu1234...
  
View on item.taobao.com Preview by Yahoo  
  

FPGA开发板FPGA学习板 Altera EP2C5Q208 NIOSII SOPC实验板-淘宝网

  
  
FPGA开发板FPGA学习板 Altera EP2C5Q208 NIOSII SOPC实验板-淘宝网
欢迎前来淘宝网选购热销单片机/开发板/学习板-IC集成电路/电机-电子元器件市场-3C数码配件市场商品FPGA开发板FPGA学习板 Altera 
EP2C5Q208 NIOSII SOPC实验板,想了解更多FPGA开发板FPGA学习板 Altera EP2C5Q208 NIOSII 
SOPC实验板,请进入baixunltd的店铺...  
View on item.taobao.com Preview by Yahoo  
  

FPGA外扩板/扩展板 DM9000/CY7C68013/WM8731/VGA 以太网USB音频-淘宝网

  
  
FPGA外扩板/扩展板 DM9000/CY7C68013/WM8731/VGA 以太网USB音频-淘宝网
欢迎前来淘宝网选购热销单片机/开发板/学习板-IC集成电路/电机-电子元器件市场-3C数码配件市场商品FPGA外扩板/扩展板 
DM9000/CY7C68013/WM8731/VGA 以太网USB音频,想了解更多FPGA外扩板/扩展板 
DM9000/CY7C68013/WM8731/VGA 以太网USB音频,请进...  
View on item.taobao.com Preview by Yahoo  
  

FPGA开发板ALTERA CycloneIV视频NIOS图像DDR彩色VGA音频 EP4CE30-淘宝网

  
  
FPGA开发板ALTERA CycloneIV视频NIOS图像DDR彩色VGA音频 EP4CE30-淘宝网
欢迎前来淘宝网单片机/开发板/学习板-IC集成电路/电机-电子元器件市场-3C数码配件市场类实力旺铺,选购FPGA开发板ALTERA 
CycloneIV视频NIOS图像DDR彩色VGA音频 EP4CE30,想了解更多FPGA开发板ALTERA 
CycloneIV视频NIOS图像DDR彩色VGA音频 EP4CE30,...  
View on item.taobao.com Preview by Yahoo  
  


BR,
Geo



On Monday, September 22, 2014 5:33 PM, andr...@itship.ch andr...@itship.ch 
wrote:
 


Once more, congratulation! This is awesome!
I really believe this is/will be huge.

1. kickstarter
Afaik you need a US tax number to use kickstarter, so either a us citizen
oder better a us company is necessary. It's possible to do a setup by
creating a cheap delaware company, I know guys who did it, but its quite a
bit complex for non-us people.
So I would recommend using another platform, or even first trying to use
this mailling list or a custom website to set a crowd project up from
this.
Maybe you don't even need a crowdfunding project, if we find enough people
this way?

2. PilMCU applications
Beside the wearable/mobile/robotics applications (go for it!), I'm
personally interested in picolisp server hardware. Maybe producing
something similiar to Intel NUC
(http://en.wikipedia.org/wiki/Next_Unit_of_Computing) ?
So extendable RAM plus storage plus network plug, and we would have a fine
little box for all kind of server applications. No OS overhead, no stack
security issues (heartbleed), just beautiful picolisp.
This would also allow to produce/sell custom solutions, e.g. put software
on cheap tiny hardware box, sell the device, similiar to kinko
(https://kinko.me/the-kinko-project/)

3. OpenSource legitimacy
About this one I'm not sure, its more a philosophical thing, maybe I got
it wrong:

With traditional soft- and hardware, there is the problem, that even with
a copy of the source code of a certain application, we can't be sure that
the actual running instance of the application uses the same source code
and didn't get altered by a malware-injecting compiler.

Let's say we have hardware which interprets picolisp directly, and does
nothing else (which one can proof about a certain piece of hardware).
And picolisp applicaiton is always readable clear text source code, so
isn't this actually an instance were we can proof WHAT the hardware and
software of this thing is doing, even when running?



 Good morning everyone!

 Wow! thanks for all this nice feedback's, a nice way to greet a morning
 weekend :)

 Btw sorry if i cannot individually reply on each topic, but let me share
 my thoughts on this two topic that is recently on the table:
 1. Kickstarter or Indigogo
 2. Verilog source code availability


 1. Actually this is what i suggested to Alex for we  had a customer here
 before that we produced his product from kicksarter. But from what i
 understand, inorder to register our project we need a video to show the
 early 

Re: Announce: PicoLisp on bare metal

2014-09-20 Thread George Orais
Wow!! congrats Raman!! This is also a cool achievement!! great work!!



On Saturday, September 20, 2014 10:37 PM, Raman Gopalan 
ramangopa...@gmail.com wrote:
 



Dear PicoLisp community,

Firstly, Alex, thank you so much for PicoLisp! It has been so much fun.

Today has been such a great day! Strawberry Pil (That's certainly a nice
name!) has put me in imagination mode. Great work!


I'm writing this mail to primarily answer Jerome Moliere's questions. This
is also yet another announcement.


 am working on a connected watch project running on a very tiny
 hardware (MCU running a Cortex ARM 3 from ST microelectronics).
 I'd 
like to know if you have experience running PicoLisp in such
 environment
 ?


Of course, you can run PicoLisp on a microcontroller; Specifically on an
ARM Cortex clone such as stm32f103re (stamp module[1]). It is basically
mini PicoLisp on bare metal (modified of course).


I'd like to announce Alcor6L [1], a project launched by SimpleMachines,
Italy [2] which aims at providing PicoLisp for MCUs (among other things).
It provides complete hardware support for Mizar32 [3] (and other Cortex
clones). The system provides a software interface for interactively and
incrementally programming microcontrollers in PicoLisp. One can access
all MCU peripherals with PicoLisp. For instance, take a look at this
hello-world in PicoLisp [4].


Similarly, this is how one could use a PWM in PicoLisp [5]. I could also
write to a 16x2 LDC in French like this [6]. Alcor6L on Mizar32 is also
well documented [7].


I have a tiny Lisp machine at home around Mizar32 and PicoLisp [8]. It
connects to a VGA monitor and a keyboard. I use it to do most of my
prototypes. You can see the tic-tac-toe (written by Alex) running on it [8]
(Also, please notice the *Love Lambda*. Thanks Sergio!). Yes, it could
also run the game of life. It has a shell and also a tiny vi [9] clone for
editing code. I've also been trying to port an emacs clone for the MCU.
So far, no luck.

 The OS would be NuttX (RTOS).


This is certainly possible. I've been able to run PicoLisp as a task in RTX.

(a CMSIS compliant RTOS). Running PicoLisp within NuttX should be very

possible. It would also be nice to wire the the OS specific sections. At the

moment, PicoLisp on bare metal can't do any OS specific calls. We're

also actually seriously considering NuttX for Alcor6L.


Please give us your suggestions on Alcor6L. Jerome, please let us know
if this work if useful to you.


I've put Sergio in CC. He made SimpleMachines, Mizar32 and Alcor6L
possible!


Good weekend!


R


References:
[1]: http://www.futurlec.com/ET-STM32_Stamp.shtml

[2]: http://simplemachines.it
[3]: http://en.wikibooksorg/wiki/Mizar32#mediaviewer/File:MIZAR32.jpg
[4]: 
https://github.com/simplemachines-italy/examples/blob/master/led/blink-inf-mizar32.l
[5]: 
https://github.com/simplemachines-italy/examples/blob/master/pwmled/pwm-led.l
[6]: https://github.com/simplemachines-italy/examples/blob/master/lcd/french.l
[7]: http://enwikibooks.org/wiki/Mizar32
[8]: http://commons.wikimedia.org/wiki/File:LISP-MACHINE.JPG
[9]: https://github.com/simplemachines-italy/Alcor6L/blob/master/src/iv/iv.c

Re: Announce: PicoLisp in Hardware (PilMCU)

2014-09-19 Thread George Orais
Hi Alex!

First of all, thanks for the wonderful tool PicoLisp and also for giving me 
this opportunity to work with you on this exciting project :)
Please let me share some of the exciting feature that we can provide especially 
on the embedded perspective.



Hi Everyone!

I am Geo and i'm currently working here in Shenzhen China.

As you can see the announcement from Alex, i would also like to point some cool 
features that hopefully could attract the crowd :)
Please excuse my English for it is not may native language so i just write it 
on bullet-point format:
* A 64bit MCU
* An MCU which uses Lisp as its low-level language
* An MCU that you can program thru UART, LAN or any means as long as you can 
access the pilMCU core. No need proprietary programmer/debugger used by today's 
MCU like JTAG
* A Lisp machine kit that utilize today's technology (Micro SD, DDR, PS2, I2C, 
SPI) and because of I2C and SPI we can easily add USB, WIFI and even Bluetooth 
;)
* A system that is running Lisp (PicoLisp) on bare-metal, meaning the 
user/developer can directly interact/develop with the hardware using Lisp code 
without the restriction provided by today's host OS like Windows, Linux, or 
Android?
* A new style of programming MCU which would be an interactive way, no more 
compiling then debugging :)

And i think there is still many more exciting feature that we still can add 
with your help and feedback's :)

As of the moment please let me provide my insight on these points that i 
recently read:
1. when PicoLisp is seen running on _actual_ hardware.
2. to run PilMCU on a raspberry pi now or in the future
3. the real money is nowadays
4. how an Embedded Lisp Machine can be really useful



1. For I am doing the Verilog part, as of the moment pilMCU is running under 
Icarus Verilog Simulator, but soon i will get and off-the-shelve FPGA kits with 
complete peripherals and try to shoehorn pilMCU to that existing board. It wont 
affect the core for i abstracted the interfaces so that it would be easy for me 
to port the core on any FPGA boards. This is proof of concept stage, and once 
we have a fully tested prototype, our ultimate goal is to upgrade into ASIC 
chip or even into a full chip fabrication, i know this is still far but with 
everyone's help i think we can do this ;)

2. Actually this is what Alex told me when i proposed to him this project. Yes 
i agree about the RPi is today's trend, even the TI BBoard is also cool to run 
PicoLisp.. and even more i even have the XMOS multi-core MCU board which i was 
tempted to do some Lisp on it. But i really feel that it is the right time to 
express the Lisp way on its own hardware. Today's prices per components is far 
low than the time Lisp machines was booming, so i think why not try to make one 
again and see the difference? Lets not easily get intimidated with those 
existing kits, i know its hard to compete with them, but we are not here to 
compete, but we are here to show a different and more cooler alternative to run 
Lisp :)

3. Base from my daily work here, i can say that real money these days are 
anything related to the smartphone which is either the smartwatch or health 
bands, im currenly working on both products :) and the key ingredients are 
wireless connectivity which is BLE or NFC.. and from what i heard is the future 
is to make all devices and appliances to be connected to the internet? so RF 
chip makers are now trying to make a low power WIFI chip.. but anyway those are 
just rumours, lets just see :) but back with pilMCU, i think this would 
certainly attract mostly on the robotics field? something like the Lego 
Mindstorm? or as what Alex mention maybe at first will be an educational kit 
for students and hobbyist? but i know its still early to speculate :) so lets 
just build the prototype first and from there will see how the crowd reacts ;)

4. I think this is already answered from above statements :) but if we really 
need a something that can be our punch line of making this project, then how 
about this:
Embedded Lisp Machine A machine that is designed based from a past but robust 
principle using with today's present technology to produce a better future 
system.. sorry i think it sounds ridiculous but for now, just lets try the 
water with one feet first :)


Sorry for this long post guys, but thanks for your feedback's, hoping to hear 
more suggestions on how we can build a better package of this pilMCU kit that 
we all can enjoy in the future. cheers!!



Bis dann,
Geo









On Friday, September 19, 2014 10:28 PM, Mattias Sundblad 
mattias@gmail.com wrote:
 


Great news and good work! Congratulations!

I second what Joe wrote a bit earlier, it truly is inspiring to see PicoLisp 
improve.

best regards,
Mattias



On 19 September 2014 15:24, Thorsten Jolitz tjol...@gmail.com wrote:

Alexander Burger a...@software-lab.de writes:

Hi Alex (and George),

 we are proud to announce PilMCU, the Lisp Machine on a Chip! :)

though 

Re: Announce: PicoLisp in Hardware (PilMCU)

2014-09-19 Thread George Orais
Good morning everyone!

Wow! thanks for all this nice feedback's, a nice way to greet a morning weekend 
:)

Btw sorry if i cannot individually reply on each topic, but let me share my 
thoughts on this two topic that is recently on the table:
1. Kickstarter or Indigogo
2. Verilog source code availability


1. Actually this is what i suggested to Alex for we  had a customer here before 
that we produced his product from kicksarter. But from what i understand, 
inorder to register our project we need a video to show the early progress of 
the project. Its either we can make a video showing the verilog simulator 
running OR emulator in C running? but i think it would be great to show an 
actual FPGA board running the pilMCU, this option would be more attractive 
right? so my primary goal as of now is to get an FPGA board from online and 
start synthesize the code for the actual FPGA hardware. Anyone with experience 
with FPGA is welcome to provide their inputs ;)

2. This i need to discuss with Alex first. But if you ask me, actually there 
were good points shared here, but i think its still too early too release the 
code for it is still at design stage and as much as possible, me and Alex would 
like to stabilize the core first and also to have a robust kit first. If anyone 
wants to try the machine, as of the moment the best way is to run the 'emu' 
version :) but don't worry, picolisp community will surely be the first to have 
an actual hands-on once the actual hardware is ready ;)

Great weekend everyone, cheers!!

BR,
Geo





On Saturday, September 20, 2014 5:46 AM, Thorsten Jolitz tjol...@gmail.com 
wrote:
 


Christophe Gragnic
christophegrag...@gmail.com writes:

 On Fri, Sep 19, 2014 at 10:53 PM, Loyall, David
 david.loy...@nebraska.gov wrote:
 If you sell a FPGA configured to be an open source Lisp CPU, I'll
 buy a few

 Someone on Hacker News: «where's the kickstarter page? I want a few of
 those.»
 I'd buy a few too.

Thats the idea, I would say: buy the chips and support the project. Give
them time to prepare a nice kickstarter project. Enjoy the opportunity
to support a wonderful free software project to become not only a
technical but an economic success too.

You ask them to give away their most important 'capital' to the public
before even starting the business. Not a good advice, really ...

-- 
cheers,
Thorsten

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

Subscribe

2014-09-18 Thread George Orais