PicoLisp / REPL Emacs
Hi all, I have seen the docs about Emacs and found one webblog dealing with PicoLisp Emacs but the information is quite old.. Do you use Emacs and Company ? How do you integrate the PicoLisp REPL into Emacs ? I'd like to avoid auto complete because I already have a quitte tricky configuration for Company and I guess that running both completion systems in the same time is not perfect.. Thanks for any fresh pointer Kind regards jerome -- J.MOLIERE - Mentor/J
Picolisp Specific Training
Hi all, I think that everything is in the title... Do you know if someone supplies such training ? Kind regards -- J.MOLIERE - Mentor/J
Re: Picolisp Specific Training
Thanks for so quick answer. I'll write directly to Alex for more details. Regards On Thu, Sep 25, 2014 at 7:03 PM, Alexander Burger a...@software-lab.de wrote: Hi Jerome, I think that everything is in the title... Do you know if someone supplies such training ? Yes, sure. I'm doing PicoLisp training. ♪♫ Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe -- J.MOLIERE - Mentor/J
Re: PicoLisp roots
Thanks Joe for the pointer... Sounds very interesting.. I '' have a closer look tonight... regards On Mon, Sep 22, 2014 at 12:35 PM, Joe Bogner joebog...@gmail.com wrote: Hi Jerome, You might be interested in https://github.com/michelp/0pl as it's somewhat similar to what you are trying to accomplish. It's PicoLisp bindings for ZeroMQ It may give you some ideas on how to tackle the amqp port On Sun, Sep 21, 2014 at 12:32 PM, jerome moliere jer...@javaxpert.com wrote: Hi all, I do not intend to spam your mailing list , sorry if this question sounds stupid for many of you but I had a look to the PicoLisp language.I am not a Lisp expert but I can write Clojure code Emacs Lisp I'd like to know how far/close PicoLisp is from Common Lisp or other Lisp dialects. In fact I've seen that github hosts a Common Lisp AMQP client library and I'd like to estimate how much work I would need to port this library to PicoLisp. The project is hosted here : https://github.com/lisp/de.setf.amqp Thanks for precious help Kind regards -- JMOLIERE - Mentor/J -- J.MOLIERE - Mentor/J
Re: Announce: PicoLisp on bare metal
Hi all, I will not hesitate once my kits received In fact the application requires extensibility that'w why I'd like to be able to run a Lisp interpreter for being able to develop smart safe software updates , the code is data / data is code philosophy is really well suited for such use case isn't it ? I don't really need execution speed , just collecting some sensors data /aggregate them , store them (that's why I need a kind of database) Yes I mean flash on the MCU... One small OS + Pico LISP interpreter + database files + code in 1 Mb ,does not seem impossible to fill -) It's really important for me to have as much clues as possible regarding those memory footprint / size on disk because my original platform was a Java 7 JVM + Clojure + Apache Derby + AMQP broker So changing hardware means changing software stack but I'd like at least keep one LISP interpreter for expressivness dynamic aspect and one database ( I don't plan to write the nth implementation of a binary format on buffers with fixed size... PicoLisp seems a great option for me bringing Lisp + database But before trying by myself I'd like to have as much clues as possible. Kind regards On Sun, Sep 21, 2014 at 7:11 AM, Raman Gopalan ramangopa...@gmail.com wrote: Dear Jerome, Thanks Raman and thanks to all the PicoLisp community. I am always impressed by the Open Source spirit still found in some projects.. I'm glad you feel this way. Thank you. [snipped] I will have a closer look to the Alcor6L project [..] Sounds very good, summarizing the status : PicoLIsp runs already on this hardware platform but not with the NuttX OS [..] pleasure to contribute to this project as soon I'll receive the dev kits Great! You're more than welcome to contribute. Please let me know if you need any help. Raman , you can confirm that the whole PicoLisp runs within the 128kb of RAM can be deployed on the flash disk... Yes, it can run well within 128KB of RAM. You also say you have a megabyte of flash. It's really hard to fill it up :) In any case, it really depends on your App. Does it demand execution speed or extensibility? What do you mean flash disk? You mean the flash on the MCU? R On 20 September 2014 22:08, jerome moliere jer...@javaxpert.com wrote: Thanks Raman and thanks to all the PicoLisp community. I am always impressed by the Open Source spirit still found in some projects.. You don't know me you bring me for free all you expert thoughts... Thanks again I will have a closer look to the Alcor6L project (already read the README.MD on github). Sounds very good, summarizing the status : PicoLIsp runs already on this hardware platform but not with the NuttX OS adding this one to the wish list for the Alcor6L. It would be a pleasure to contribute to this project as soon I'll receive the dev kits Raman , you can confirm that the whole PicoLisp runs within the 128kb of RAM can be deployed on the flash disk... Once again thanks for the help... Kind regards Jerome On Sat, Sep 20, 2014 at 4:28 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
Re: PicoLisp roots
Thanks for your quick reply... Is there a guide explaining major differences between Common Lisp PicoLisp ? I guess, reading your answer , that there 's no just a few syntactic differences between the 2 dialects ... I can read between the lines some philosophical major differences , right? What are the most difficult tasks , hot topics to be aware of when porting a software from CL to PicoLisp ? Because I won't be able to reinvent all wheels in a few weeks so I imagined to port some existing libraries to PicoLisp to have a fully complete stack for my requirements... Thanks once again Kind regards Jerome On Sun, Sep 21, 2014 at 7:00 PM, Alexander Burger a...@software-lab.de wrote: Hi Jerome, I do not intend to spam your mailing list , sorry if this question sounds stupid for many of you but I had a look to the PicoLisp language. No problem. Don't worry! I am not a Lisp expert but I can write Clojure code Emacs Lisp I'd like to know how far/close PicoLisp is from Common Lisp or other Lisp dialects. PicoLisp is quite far from Common Lisp. In fact, it was partly *triggered* by the appearance of Common Lisp. I was shocked about that monster, and what they did to the beautiful nice Lisp language ... ;-) PicoLisp is more close to some older dialects like (first version of) MacLisp, Interlisp and (perhaps mainly) Portable Standard Lisp. ♪♫ Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe -- J.MOLIERE - Mentor/J
Re: PicoLisp roots
Thanks to you Thorsten Alex I'll definitely have a closer look to the rosettacode.org website and read online papers about PicoLisp design. Thanks again Regards Jerome On Sun, Sep 21, 2014 at 7:57 PM, Alexander Burger a...@software-lab.de wrote: On Sun, Sep 21, 2014 at 07:17:08PM +0200, jerome moliere wrote: Is there a guide explaining major differences between Common Lisp I'm afraid, not in a single place. PicoLisp ? I guess, reading your answer , that there 's no just a few syntactic differences between the 2 dialects ... I can read between the lines some philosophical major differences , right? Very good! Indeed, you are very sensitive. Basic philosophy differs in many regards, which I can't recapitulate here in a few words. Key items are compilation vs. interpretation, macros vs. fexprs, dynamic vs. static binding, data types, and - last but not least - complexity vs. simplicity. You'll find more if you dig deeper into what can be found online about PicoLisp. What are the most difficult tasks , hot topics to be aware of when porting a software from CL to PicoLisp ? I must confess that I don't know. You might get some ideas if you compare solutions in CL and Pil on rosettacode.org. When I solved hundreds of those tasks, I usually found it easier to look at most other languages (C, Java, Python, AWK, Shell) than at CL to get ideas about how to solve them :) ♪♫ Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe -- J.MOLIERE - Mentor/J
Re: PicoLisp on NuttX
Thanks Alex for your answer. Is it possible/adviseable to slim down the PicoLisp to drop all unused libraries (XML/JSON) to have a miniPicoLisp superset ? The system running NuttX is a 120Mhz MCU with 128Ko RAM + 1 Mo Flash PicoLisp reduced in size on disk (with database options) + one AMQP broker could be the only components on my system and may fit the small size. Do you have an idea of the typical memory footprint? Thanks for your expert advices Kind regards Jerome On Sat, Sep 20, 2014 at 9:41 AM, Alexander Burger a...@software-lab.de wrote: Hi Jerome, I 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 ? ... I have seen that PicoLisp may be too heavyweight in the standard distribution , the tiny version would be better suited for my needs but I am really excited by the idea to embed a database into the language. I think so too. For a really minimalistic system, a modification of miniPicoLisp is a good idea. In contrast to that, the PilMCU is targeted at a more powerful system, being a 64-bit architecture and needing more RAM and persistent storage. If a database is needed, however, miniPicoLisp is not an option. ♪♫ Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe -- J.MOLIERE - Mentor/J
Re: PicoLisp on NuttX
Thanks for the details... for 8KLisp , Z80 won't be helpful on ARM MCU .. I should try to make some tests , but I don't have the dev kits yet ... Kind regards On Sat, Sep 20, 2014 at 10:32 AM, Alexander Burger a...@software-lab.de wrote: Hi Jerome, Is it possible/adviseable to slim down the PicoLisp to drop all unused libraries (XML/JSON) to have a miniPicoLisp superset ? This will not help much, I'm afraid. XML or JSON are separate libraries anyway, not part of the base system. The system running NuttX is a 120Mhz MCU with 128Ko RAM + 1 Mo Flash PicoLisp reduced in size on disk (with database options) + one AMQP broker could be the only components on my system and may fit the small size. Do you have an idea of the typical memory footprint? Hmm, that's very tight. Form some measurements I made some time ago: Just loading lib.l and a reduced version of lib/misc.l takes 48 KB on startup. If you load any runtime sources, this will quickly grow. In addition to that, you'll also have to reserve some stack space. This sounds rather like a task for Forth to me. Or, you might look at a 8kLisp, a predecessor of PicoLisp http://software-lab.de/8kLisp.tgz The interpreter is exaclty 8 KB in size, and runs in a total memory of 64 KB. But it is written in Z80 assembly ;-) ♪♫ Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe -- J.MOLIERE - Mentor/J
Re: PicoLisp on NuttX
Thanks for this feedback Alex. I ll have a look tonight Kind regards Le 20 sept. 2014 12:18, alex.gild...@talktalk.net a écrit : Sadly not PicoLisp, but another alternative you could look at if you need a really, *really* tiny Lisp is PICOBIT: https://github.com/stamourv/picobit It's a Scheme. Claims (perhaps pinch of salt needed) to be able to run in as little as 1KB RAM. The original developer was the guy behind Gambit, so there's probably something to it (I haven't used it myself). -Original Message- From: jerome moliere jer...@javaxpert.com To: picolisp@software-lab.de Sent: Sat, 20 Sep 2014 10:44 Subject: Re: PicoLisp on NuttX Thanks for the details... for 8KLisp , Z80 won't be helpful on ARM MCU .. I should try to make some tests , but I don't have the dev kits yet ... Kind regards On Sat, Sep 20, 2014 at 10:32 AM, Alexander Burger a...@software-lab.de wrote: Hi Jerome, Is it possible/adviseable to slim down the PicoLisp to drop all unused libraries (XML/JSON) to have a miniPicoLisp superset ? This will not help much, I'm afraid. XML or JSON are separate libraries anyway, not part of the base system. The system running NuttX is a 120Mhz MCU with 128Ko RAM + 1 Mo Flash PicoLisp reduced in size on disk (with database options) + one AMQP broker could be the only components on my system and may fit the small size. Do you have an idea of the typical memory footprint? Hmm, that's very tight. Form some measurements I made some time ago: Just loading lib.l and a reduced version of lib/misc.l takes 48 KB on startup. If you load any runtime sources, this will quickly grow. In addition to that, you'll also have to reserve some stack space. This sounds rather like a task for Forth to me. Or, you might look at a 8kLisp, a predecessor of PicoLisp http://software-lab.de/8kLisp.tgz The interpreter is exaclty 8 KB in size, and runs in a total memory of 64 KB. But it is written in Z80 assembly ;-) ♪♫ Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe -- J.MOLIERE - Mentor/J
Re: Announce: PicoLisp on bare metal
Thanks Raman and thanks to all the PicoLisp community. I am always impressed by the Open Source spirit still found in some projects.. You don't know me you bring me for free all you expert thoughts... Thanks again I will have a closer look to the Alcor6L project (already read the README.MD on github). Sounds very good, summarizing the status : PicoLIsp runs already on this hardware platform but not with the NuttX OS adding this one to the wish list for the Alcor6L. It would be a pleasure to contribute to this project as soon I'll receive the dev kits Raman , you can confirm that the whole PicoLisp runs within the 128kb of RAM can be deployed on the flash disk... Once again thanks for the help... Kind regards Jerome On Sat, Sep 20, 2014 at 4:28 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 http://en.wikibooks.org/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 http://en.wikibooks.org/wiki/Mizar32 [8]: http://commons.wikimedia.org/wiki/File:LISP-MACHINE.JPG http://commons.wikimediaorg/wiki/File:LISP-MACHINE.JPG [9]: https://github.com/simplemachines-italy/Alcor6L/blob/master/src/iv/iv.c -- J.MOLIERE - Mentor/J
Subscribe
-- J.MOLIERE - Mentor/J
PicoLisp on NuttX
Hi all, this is my first post here. I am not a Lisp expert , I have a strong Java background I discovered Lisp one year ago with Clojure... I 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 ? It seems that my post is not far from the hot topic on this list today... The OS would be NuttX (RTOS). Any feedback welcome Kind regards PS: I have seen that PicoLisp may be too heavyweight in the standard distribution , the tiny version would be better suited for my needs but I am really excited by the idea to embed a database into the language. PS2: I am really excited by the tiny LISP machine idea , buying such device is a very exciting idea... -- J.MOLIERE - Mentor/J