Re: Pil transformed
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
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
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
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
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
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
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?
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
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?
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
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 ?
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
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
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?
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
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
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
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
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
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
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
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
(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
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 Burgerwrote: 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
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
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 Thorpewrote: (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
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 Williamswrote: 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
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
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
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 Thorpewrote: 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
Congrats!! Great job Alex!! Hopefully i can give a same great news soon.. On Tuesday, November 17, 2015 3:08 AM, Rick Hansonwrote: > 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
Nice! Thanks Mike! Btw, any chance for IRIX? :) On Monday, October 12, 2015 4:07 PM, Mike Pechkinwrote: 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
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
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
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
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
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
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
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
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!
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!
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!
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
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
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!
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)
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
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
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
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
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)
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
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)
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)
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