Re: PicoLisp License

2008-06-27 Thread Jakob Eriksson

Alexander Burger wrote:


The normal use, however, writing applications in Lisp, is surely OK.
Then you can distribute the PicoLisp interpreter as you like, in binary
or source form (I'm not sure, but probly it is even sufficient to
provide the customer with a link where he can download the sources
himself).

If you write, however, a special function in C, and link it to the
interpreter, you'd have to supply the source to that function (but not
the rest of your application).
  


This is exactly how we used it in a commercial application. The download 
link is an exception allowed
for non-commercial activity. See 
http://gpl-violations.org/faq/vendor-faq.html


It says you have to offer (in writing) shipping the source code.

// Jakob
--
UNSUBSCRIBE: mailto:[EMAIL PROTECTED]


Re: Re: Cygwin 1.7.5: Problem with dlopen and relative path

2010-04-29 Thread Jakob Eriksson

Some things you don't bring from Windows. Then you bring Unix to Windows 
instead.
There is a market for it, or Cygwin nor Services For Unix would not exist.
(Services For Unix being Microsofts strange name for their Cygwin-like 
offering.)


On Thu, Apr 29, 2010 at 04:32:07PM +0200, Henrik Sarvell wrote:
 Please explain to me, why are you guys spending time trying to fix Cygwin? I
 really want to know, am I missing something fundamental here?
 
 Cygwin is the reason I went all out Linux some 5 years ago when I tried to
 develop an SMS gateway with Linux as the target, on Win in Cygwin, too many
 problems, Cygwin != Linux and it seems it will never be.
 
 If I really need some of the Adobe or MS office stuff these days I just launch
 a VirtualBox and work away, nothing to it. That or just buy a Mac.
 
 /Henrik
 
 
 2010/4/29 Mansur Mamkin mmam...@mail.ru
 
 
 Thu, 29 Apr 2010 15:04:47 +0200 Corinna Vinschen 
 corinna-cyg...@cygwin.com
 :
 
  On Apr 29 12:39, Mansur Mamkin wrote:
   Hello,
  
   As I see in source of dlfcn.cc, dlopen() should override LoadLibrary's
 automatic adding of a .dll suffix,
   but it's behaving strangely
  
   I have such files:
   /home/me/project/myexe.exe
   /home/me/project/lib1.dll
   /home/me/project/subdir/lib2.dll
   /home/me/project/subdir/lib3 (without .dll)
  
   My current directory is /home/me/project/
  
   I try to use dlopen() in myexe.exe with relative path:
  
   1) dlopen(subdir/lib2) - NOT FOUND (If this OK, then why failed
 dlopen(subdir/lib3)?)
 
  This one is correct.
 
   2) dlopen(subdir/lib3) - NOT FOUND (why?)
 
  I couldn't reproduce this one, but...
 
   3) dlopen(subdir/lib2.dll) - SUCCESS (works fine)
   4) dlopen(lib1) - SUCCESS (why it didn't override LoadLibrary's
 adding .dll ?)
 
  ...this one is a bug.  I fixed that in CVS.
 
 
  Thanks,
  Corinna
 
  --
  Corinna Vinschen  Please, send mails regarding Cygwin to
  Cygwin Project Co-Leader  cygwin AT cygwin DOT com
  Red Hat
 
 --
 UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe
 
 
-- 
UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe


Re: PL vs. BSD License

2010-08-02 Thread Jakob Eriksson
On Mon, Aug 02, 2010 at 08:29:52AM +0200, Alexander Burger wrote:
 Hi all,
 
 as this discussion popped up recently and in the past, and will surely
 pop up in the future: What do you think if PicoLisp were released under
 the BSD license instead of GPL?

I would love it. I could imagine embedding PicoLisp in some applications.

 
 Ideologically, I prefer the GPL. It guarantees that freedom
 propagates. But it does this by cutting down on freedom, so it is
 schizophrenic. I used to compare the situation with freedom in a
 society: A society should not give an individual member so much freedom
 that he can make himself a dictator and thus destroy freedom. But this
 comparison is wrong. Using free software in a non-free project doesn't
 decrease its freedom; it just doesn't increase it the way the GPL tries
 to enforce. So is this just much ado about nothing?

Even the FSF argues for less restrictive licenses than the GPL in some
situations. For example the GLIBC has a less restrictive license, and
they have the LGPL for purposes like this.
They argue, that when adoption otherwise is unlikely, you should use
the LGPL. This is the case, when there is a large body of proprietary
code out there, such as when the GLIBC was created.
If it had not allowed anything but GPL programs linked to it, nobody
would have used.
So it could be argued that you are helping distributing state-of-the-art
embeddeble open source lisp by going to a less restrictive license.

Of course, the FSF would be less happy if you went with MIT/X11/BSD than
with the LGPL, but it is up to you. And the X11 license or 2-clause BSD
is the most commercial friendly.


best regards,
Jakob

-- 
UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe


Re: picolisp in java

2010-10-04 Thread Jakob Eriksson

Totally awesome!

I have for a long time wanted Picolisp on other platforms. I think the
best thing about Picolisp is the language itself, not its current libraries.

Thank you!

// Jakob


On 10/04/2010 09:40 AM, Tomas Hlavaty wrote:
 Hi Alex,
 
 I have published my implementation of picolisp in java, in case you want
 to compare with your implementation.
 
-- 
UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe


Re: picolisp in java

2010-10-07 Thread Jakob Eriksson
On 10/06/2010 10:04 PM, Tomas Hlavaty wrote:
 Hi Alex,
 
 Perhaps 'fork' can be simulated by copying all runtime variables to a
 thread?
 
 not sure whether that's enough.  The semantics is completely different,
 what about open files and so on?  Is it necessary to go that far in
 terms of compatibility?
 
 Cheers,
 
 Tomas

Fork is not necessary and goes against the thinking in the Java machine.
Java is all about threads.


-- 
UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe


Re: Announce: ErsatzLisp (Java PicoLisp)

2010-10-31 Thread Jakob Eriksson
On Sat, Oct 30, 2010 at 07:07:01PM +0200, Alexander Burger wrote:
 Hi all,
 
 the Java version of PicoLisp, which is part of the testing release since
 a few weeks, is now in a state where I dare to say that the language is
 usable (just the plain language).

Very cool!



 In the near future I will continue, trying to supply as many missing
 parts as possible. The next will probably be the *Run/task mechanisms
 (using java.nio.channels.Selector), remaining I/O functions, and
 networking. What seems definitely impossible in plain Java is raw
 console input ('key', line editing). About other parts like 'fork' and
 database support I'm not sure yet.

I don't think you need to include fork. Database support should be
possible, I guess, but I am not sure about locking.


// Jakob

-- 
UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe


Re: Announce: ErsatzLisp (Java PicoLisp)

2010-11-05 Thread Jakob Eriksson
On 11/05/2010 10:56 AM, Alexander Burger wrote:

 
 Too bad. Is there no up-to-date JRE available for the Mac?
Should be:

http://discussions.apple.com/thread.jspa?threadID=2315116tstart=1

http://www.piranhamethod.com/2010/04/installing-jre-1-6-on-your-mac-os-x-leopard-10-5-8-or-later/

// Jakob

-- 
UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe


Re: Done! -- Was: Announce: ErsatzLisp (Java PicoLisp)

2010-11-12 Thread Jakob Eriksson



On 11/12/2010 08:04 PM, Alexander Burger wrote:
[...]

 Done! I do now consider Ersatz PicoLisp complete :)


Totally cool!   I consider the main benefit that we have a PicoLisp in
Java, which we need to be hype compliant. :)

// Jakob
-- 
UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe


Re: Announce: ErsatzLisp (Java PicoLisp)

2010-11-18 Thread Jakob Eriksson
On 11/17/2010 06:13 PM, Alexander Burger wrote:
 
 But more important is that this would require quite a mess of code,
 analog to what is there for getting the values of public fields. If you
 look at lines 99 through 142 of ersatz/fun.src (actual version), you
 see a lot of tedious type ('instanceof') checks. And they don't even
 cover all possible cases! The same would be required for the opposite
 direction. Or does anybody know a better way?

Is this related to introspection?
http://stackoverflow.com/questions/206/java-introspection-and-reflection

// Jakob
-- 
UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe


Re: java proxy

2010-12-03 Thread Jakob Eriksson
On Fri, Dec 03, 2010 at 09:00:04AM +0100, Alexander Burger wrote:
 Hi Tomas,
 
  Why does your code
  
 (java Label 'addMouseListener
(interface java.awt.event.MouseListener
   'mouseClicked '((Ev) (setq Dir (if (= 1 Dir) 12 1)))
   'mouseEntered nil
   'mouseExited nil
   'mousePressed nil
   'mouseReleased nil ) )
  
  have all those nil cases?  Is that necessary?
 
 I would prefer if it were not necessary. But an interface like
 MouseListener requires the implementation of all methods. I think I got
 a runtime error if I didn't supply all methods. And I didn't investigate
 how to implement MouseAdapters which are classes and cannot be handled
 by 'interface'.
 
 Do you have an idea? On the other hand I don't worry too much if I
 simply supply empty methods (this could be encapsulated in a function).
 


So cool that it works!  I just demoed examples from Rosettacode to a friend
and was delighted that the Swing example just worked...

// Jakob

-- 
UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe


Re: PicoLisp and Arrays

2011-02-22 Thread Jakob Eriksson
On Tue, Feb 22, 2011 at 08:31:43AM +0100, Alexander Burger wrote:
 
 So, again, thanks to you all for the support! I don't have to defend
 that design decision in the future again! :)

With new users, this will come up over and over again.
But now there is sort of a FAQ to point to.

// Jakob

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


Re: Darwin Port for 64-bit PicoLisp

2011-02-23 Thread Jakob Eriksson
On Wed, Feb 23, 2011 at 05:17:10PM +0100, Jakob Eriksson wrote:
 It's not that bad, but it could be better documented.
 Here is what I could find:
 http://orangejuiceliberationfront.com/intel-assembler-on-mac-os-x/

And this:
http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/MachOTopics/1-Articles/dynamic_code.html

https://www.hasustorm.com/books/English/OReilly.Mac.OS.X.Panther.For.Unix.Geeks.eBook-LiB.chm/0596006071_mpantherunix-chp-9-sect-3.html


// Jakob

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


Re: autogenerated keys for pilog

2011-03-31 Thread Jakob Eriksson
On Thu, Mar 31, 2011 at 09:57:06AM +0800, Edwin Eyan Moragas wrote:
 Hi List,
 
 what's the best way to go about autogenerated keys for Pilog? i've
 been digging around a bit and can't find anything related.
 
 hints and pointers would be most appreciated. thank you.


Hi!

I have copied your (very good) question to:
http://stackoverflow.com/questions/5496015/autogenerated-keys-in-pilog

As I want to promote the Picolisp language on that site, but I have a hard time 
thinking up good questions and answers on my own.

best regards,
Jakob
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Announce: PowerPC Port for 64-bit PicoLisp

2011-04-27 Thread Jakob Eriksson

Wow! This is amazing!

Great work. I have asked before, but forgot the answer. Is what we like
to call
64-bit picolisp also portable to 32-bit CPUs?

Or would it take a kludge of some sort?

best regards,
Jakob



On 4/27/11 1:02 PM, Alexander Burger wrote:
 Hi all,

 64-bit PicoLisp now also runs on PowerPC/Linux :)
 So this is the second CPU supported (in addition to x86-64).

 Thanks to Nikolai Zobnin! I could use his hardware to do the port. Seems
 to work well: It assembles itself, and the unit tests in lib/test.l
 and misc/bigtest pass.

 Probably some speed optimizations could be done. The generated code
 seems not very efficient, and there might be improvements like
 instruction reordering or direct cache management. I don't know enough
 about that, so I'll leave it the way it is for now.

 Available in the current testing release (version 3.0.6.6).

 Cheers,
 - Alex

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


PicoLisp 68000

2011-05-31 Thread Jakob Eriksson
Alexander, do you have the sources for 68000 PicoLisp, and if you do, is
it anything like current PicoLisp?

The reason why I am asking is that I am somewhat involved in an Amiga
clone (Natami) which has its own CPU implementation, and I was going to
use miniPicoLisp on it, but then remembered that you used PicoLisp on
Macs, maybe an optimal assembler version?

best regards,
Jakob

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


Porting minipicolisp

2011-06-09 Thread Jakob Eriksson

I ported miniPicolisp to Amiga with GCC. I had to fix one include and
change to a cross compiler in the makefile. However, -falign-functions
did not exist in that version of GCC. And sure enough, while it built,
it would not run, dying on the assertion giveup(Unaligned Function);.

Any ideas? Why does alignment matter?

Also - I find the general idea of using picolisp as an embedded control
language inside other applications interesting, not just this special
platform.

best regards,
Jakob
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Porting minipicolisp

2011-06-09 Thread Jakob Eriksson
On 6/9/11 10:50 AM, dexen deVries wrote:

 Any ideas? Why does alignment matter?

 Not sure if it'll help at all, but there has been a similar discussion in the 
 past:
 http://www.mail-archive.com/picolisp@software-lab.de/msg01909.html


Thank you!  Now that I looked at that discussion, I seem to recall AROS
(aros.org) had the same problem for different reasons. And they solved
it be some mangling of the assembler output. Interesting, and thank you!

best regards,
Jakob


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


Re: 64-bit problem on Mac

2011-06-16 Thread Jakob Eriksson

I thougt PicoLisp used its' own assembler?



On Thu, Jun 16, 2011 at 11:24:05AM +0200, Jon Kleiser wrote:
 Hi,
 
 I wanted to look at the old problem of building 64-bit PicoLisp on Mac OS
 X. Assemblers are far from what I usually play with, but at least I'd like
 to spend a few hours today on this problem.
 From what I've found on the net, I got the impression that the standard
 (?) assembler on OSX is nasm, and that the nasm versions found on Macs
 are often quite old (just do nasm -v, and you'll see). My idea then was
 that it might help to install an up-to-date version. Then I wanted to
 check which version I had on my Ubuntu, where I build 64-bit PicoLisp
 without problem, but on my Ubuntu I found no nasm; here as (2.20.1)
 seems to be the standard assembler. On Mac (OSX 10.6.7) even as is not
 very new, I found 1.38. Maybe I should try to upgrade as instead of
 nasm ... Any comments?
 
 /Jon
 
 -- 
 UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: pilog question

2011-07-04 Thread Jakob Eriksson


http://stackoverflow.com/questions/6571200/pilog-assertion


On Mon, Jul 04, 2011 at 12:26:46AM -0700, Doug Snead wrote:
 Consider these five pilog assertions.
 
 (be do ((Question @P) @S @S) (holds @P @S))
 
 (be holds (@A @S)
(restoreSitArg @A @S @F)
(2 cons (- @F)))
 
 (be On (3 s0))
 (be On (5 s0))
 
 (be restoreSitArg ((On @N) @S (On @N @S)))
 
 I define some tests.
 
 (de t_1 () # ok
   (? holds On restoreSitArg (holds (On @N) s0))  )
 
 (de t_2 () #  ?
   (? do holds On restoreSitArg (do (Question (On @N)) s0 s0))  )
 
 Run the first one.
 
 (t_1)
 1 (holds (On @N) s0)
 1 (restoreSitArg (On @N) s0 (On @N s0))
 1 (On 3 s0)
  @N=3
 2 (On 5 s0)
  @N=5
 - NIL
 
 Ok, in that first test, I asked for solutions to (holds (On @N) s0)), tracing 
 on.
 
 Those are solutions I would expect, and they are correct. 
 
 Second test.
 
 (t_2)
 1 (do (Question (On @N)) s0 s0)
 1 (holds (On @N) s0)
 1 (restoreSitArg (On @N) s0 (On @N s0))
 1 (On 3 s0)
  @N=NIL
 2 (On 5 s0)
  @N=NIL
 - NIL
 
 Now here, (holds (On @N) s0) is also attempted to be proved - because it is a 
 sub-goal of (do (Question (On @N)) s0 s0).
 
 My question is, why the difference when (holds (On @N) s0) is proved? 
 
 In one case solutions are found, in the other case it seems to miss the same 
 solutions to the same goal. 
 
 Cheers,
 
 Doug
 
 -- 
 UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: android picolisp using ndk/jni

2011-07-07 Thread Jakob Eriksson
On Thu, Jul 07, 2011 at 03:33:03PM +0200, Alexander Burger wrote:
 
 Yeah, I always felt that Ersatz (or Java in general) is not the right
 thing.

It's perfect for bootstrapping. That it is.

// Jakob

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


Re: The PicoLisp Ticker

2011-07-15 Thread Jakob Eriksson
On Fri, Jul 15, 2011 at 09:58:59AM +0200, Alexander Burger wrote:
 Hi all,
 
 let me share my funny experiences about the PicoLisp Ticker, and how it
 is handled by Mr. Google:
 
http://picolisp.com/5000/-2-1i.html

Put a link back to picolisp.com on each ticker page. There are pretty
good keywords I think in the bot trap. :-)

best regards,
Jakob

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


Re: The PicoLisp Ticker

2011-07-15 Thread Jakob Eriksson
On Fri, Jul 15, 2011 at 10:45:28AM +0200, Alexander Burger wrote:
 Hi Dexen,
 
  may I suggest adding rel=nofollow to the `Next page' link (the a tag)?
 
 I see! Didn't know about that tag.
 
 Any opinions? Should we relieve the busy bot? Or should we wait to see
 what happens? Will Google ban the whole picolisp.com site?

I think they will, but it's all heuristics. I would guess they will ban
it if there are many links on the pages.

//Jakob

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


Re: httpGate and libssl problems

2011-08-22 Thread Jakob Eriksson
On Sun, Aug 21, 2011 at 11:22:29PM +0700, Henrik Sarvell wrote:
 Trying to compile with 32bit libc libraries installed gives me the following:
 ...
 gcc -m32 -o ../bin/ssl ssl.o -lssl -lcrypto

snip

 I have installed every possible libssl and libssl-dev package but still no
 luck, what am I doing wrong?


You need the 32 bit SSL libraries. Unfortunately, they are not part of the
ia32libs package in Ubuntu/Debian. There are various solutions, you could copy
the library from a 32 bit machine or build it in 32 mode locally.

Here is one page:

http://www.debian-administration.org/articles/531

Newer Debian should have some kind of built in magic for configuring this:
http://wiki.debian.org/ReleaseGoals/MultiArch

best luck!

//Jakob

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


Re: Building the full 64-bit version

2011-08-27 Thread Jakob Eriksson
On Sat, Aug 27, 2011 at 08:25:05PM +0200, Alexander Burger wrote:
 Ah, one important point: Can we be sure that OpenBSD uses the ELF linker
 format? If not (e.g. the old a.out format), we might have problems
 similar to those on Mac OS.

Yes:

http://www.phiral.net/openbsdasm.htm


I don't understand what you are doing, but maybe there is something
of interest in general on that page too, since it's about asm on 
OpenBSD x86.

//Jakob

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


Re: Building picolisp on Oneiric ?

2011-09-07 Thread Jakob Eriksson
On Tue, Sep 06, 2011 at 05:58:20PM +0200, Alexander Burger wrote:
 
 Hmm, looking at that, it occurs to me that the order of arguments to
 'gcc' might be relevant: If it first processes -ldl, and _then_
 x86-64.linux.base.o, it might be too late to detect that certain
 functions from the library are needed.
 
 But if so, why did it work under Debian?


It seems different versions of GCC, or installations of it, behave
differently. I have been bitten by this problem many times.
There is one correct order, but the incorrect order works on many
GCC versions.


//Jakob

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


Re: error message line numbers

2011-09-07 Thread Jakob Eriksson
On Wed, Sep 07, 2011 at 07:13:08AM +0200, Alexander Burger wrote:
 Yes. Unfortunately we couldn't solve the problem with fcntl(), even
 under cygwin (don't know if the situation would be better today).
 
 But I'm afraid that there will be many other problems. Especially
 select(), fork() and pipe() issues come to mind.

In idea is to just ignore those. Picolisp still has some things over
miniPicolisp even without those.

By the way Windows should support very good file locking, if I recall
correctly, but it's a different kind of API.
So Picolisp _could_ probably be completely ported to Windows, except
fork(), but it would be a more complex port than any of the POSIX-ish
ones, including Cygwin. I don't count Cygwin as Windows at all... :)

//Jakob


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


Re: error message line numbers

2011-09-08 Thread Jakob Eriksson

On Thu, 8 Sep 2011 16:42:22 +0700, Henrik Sarvell hsarv...@gmail.com

wrote:

 I'm sorry to have to say this but these people are only real

programmers

 if they don't target the MS stack with .NET etc, the whole WAMP, XAMPP

 posse

 are just hobbyists and not a iota of energy should be spent to make

their

 lives easier.





So you are against hobbyists?



//Jakob


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


Is Transactional Memory Relevant to PicoLisp?

2011-09-09 Thread Jakob Eriksson


As seen here. http://en.wikipedia.org/wiki/Software_transactional_memory
I noticed that Common Lisp and other Lisps have support for transactional 
memory.

I read this and became curious:  
http://arstechnica.com/hardware/news/2011/08/ibms-new-transactional-memory-make-or-break-time-for-multithreaded-revolution.ars


best regards,
Jakob


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


Re: Is Transactional Memory Relevant to PicoLisp?

2011-09-09 Thread Jakob Eriksson
On Fri, Sep 09, 2011 at 03:57:49PM +0200, Alexander Burger wrote:
 On Fri, Sep 09, 2011 at 03:04:21PM +0200, Jakob Eriksson wrote:
   ATM I cannot see how this could be useful. PicoLisp has no threads, and
  
  If you defined threads less strict, such that processes could be 
  threads,
  could it make sense then?
 
 Only if some shared/mapped memory is used, as far as I understand.
 What advantages would you see, and for which purpose?


Don't know, these things are over my head, I was hoping someone here
would know more than me and say, yes, this is good because... :-)



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


Re: Namespace support

2011-09-19 Thread Jakob Eriksson
On Mon, Sep 19, 2011 at 02:51:32PM +0700, Henrik Sarvell wrote:
 Having to write the full name all the time could easily become comical, as in
 my above Clojure example. This is also one of the reasons I have leaned 
 towards

+1

Imagine all the rants which could be made about code full of both parens AND 
ultralong
function names. :-)

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


Re: PicoLisp and its (lack of) libraries

2012-01-13 Thread Jakob Eriksson



On January 13, 2012 at 12:45 PM Alexander Burger a...@software-lab.de wrote:


 As Henrik also wrote, nobody wants to reinvent the wheel. Very true. The
 intention of PicoLisp is to _avoid_ writing extensive libraries, and
 rather use existing libs implemented in other languages. For that,
 accessing external programs and libs is made especially easy and
 transparent in PicoLisp. 
 Then a good chunk of examples using foreign libraries would help a lot.
Seeing is believing. A little picolisp editor using gnome libs and gtk,
an SDL game, a web client using CURL libraries and so on.
 
best regards,
Jakob
 
--=_Part_49_1132727072.1326458988197
MIME-Version: 1.0
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN 
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd;html 
xmlns=http://www.w3.org/1999/xhtml;
  head
meta content=text/html; charset=UTF-8 http-equiv=Content-Type/
title/title
  /head

  body
p style=margin: 0px;/p

p style=margin: 0px;/p

div style=margin: 5px 0px 5px 0px;
  On January 13, 2012 at 12:45 PM Alexander Burger 
lt;a...@software-lab.degt; wrote:br/
  br/
  gt;br/
  gt; As Henrik also wrote, nobody wants to reinvent the wheel. Very true. 
Thebr/
  gt; intention of PicoLisp is to _avoid_ writing extensive libraries, 
andbr/
  gt; rather use existing libs implemented in other languages. For 
that,br/
  gt; accessing external programs and libs is made especially easy andbr/
  gt; transparent in PicoLisp.
/div

p style=margin: 0px;#160;/p

p style=margin: 0px;#160;Then a good chunk of examples using foreign 
libraries would help a lot./p

p style=margin: 0px;Seeing is believing. A little picolisp editor using 
gnome libs and gtk,/p

p style=margin: 0px;an SDL game, a web client using CURL libraries and 
so on./p

p style=margin: 0px;#160;/p

p style=margin: 0px;best regards,/p

p style=margin: 0px;Jakob/p

p style=margin: 0px;#160;/p
  /body
/html
--=_Part_49_1132727072.1326458988197--
--
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


repost

2012-01-13 Thread Jakob Eriksson

On January 13, 2012 at 5:49 PM Alexander Burger a...@software-lab.de wrote:

 As I see it, the problem of acceptance lies on a deeper level:

    - Non-Lisp programmers don't like PicoLisp, _because_ it is Lisp.
      Too many parentheses, and similar nonsense. Too different for
      them.

    - Lisp programmers, on the other hand, don't like it either, because
      it questions everything they were taught (and what they believe)
      during the last 50 years: Compilers, macros, lexical bindings. Too
      different for them.
 
I agree with those two sentiments - those are the deeper reasons.
 
But there is room in the cracks between these two, for instance:
 
 - some kind of rapid web development thing very easy to set up, but
still easy to extend. It should be so simple non-programmers should be
able to get started and, more importantly, could start customizing. Those
new users would not even know Lisp was hard, and would like the bumblebee,
fly anyway.  In fact, Bumblebee is a great name for a web framework. :-)
Ideally, it would be possible to install as a CGI on those kinds of cheap
web hotels which only support PHP and CGI and come with a wizard for
setting it up and so on. Since there is no difference between code and
data, the developer could work within the browser and would not even
need further FTP access. The logo could be a cute bumblebee
( http://bit.ly/zKzZx6 ) with parens for wings.
 
This is just one idea, there are more if you go #picolisp. :-)
 
 
// Jakob
 
--
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: PicoLisp is DEAD (Was: PicoLisp and its (lack of) libraries)

2012-01-23 Thread Jakob Eriksson


On January 23, 2012 at 2:02 PM Jon Kleiser jon.klei...@usit.uio.no wrote:


  I like having the possibility to make use of Java solutions (e.g. the
  Swing GUI) from Ersatz PicoLisp, but please don't tell anyone that it
  allows you to integrate with any legacy system before we have done any
  such integration at all! Feel free to give us an example. ;-)
 
 
I have not. I meant, that this is a possible direction to get more jobs.
 
 
  I have until now ignored the state of the art with regards to the
  Java
  flavor of PicoLisp, but when reading about your job peril, I take
  more
  interest in it, since I have found that the Java word opens doors.
  In this case it actually is a blessing that that Java is such an
  ambiguous word  -  is it Java?  Yes, it runs on the Java runtime.
  Check.

  Do we really want to sell PicoLisp that way?
 
Why not?  Really, marketing is about getting attention. Attention span
is short. I think they will be glad to discover that PicoLisp is so
much more than just a Java appendage like so many other languages.
 
What a happy surprise if Groovy, Clojure, Ceylon, Coldfusion, Joy,
and Scala all had standalone runtimes independent of any JVM!
 
But PicoLisp does!
 
 
  How quickly do you think you could get an Ersatz PicoLisp based Android
  app out? And how would that dev. time compare to what it would take to
  write a similar app in plain old Java?
 
 
Again - I did not mean to misrepresent anything. That would take me some
time, for sure. But I would imagine if A. Burger made one app like that,
the second would be way faster. Possibly it would not even entail a
recompile... :-)
 
  If Ersatz PicoLisp should be fit for writing the stuff that you're
  thinking of, then I think you would need some way to extend existing
  Java classes, and override existing methods. I don't think this is
  possible today. Please inform me if I'm wrong.
 
I don't know these things... but it could gain those capabilities,
nothing in PicoLisp inherently stops it. 
 
Or add PicoLisp to the list of languages supported by ASE:
http://code.google.com/p/android-scripting/
 
 
I am trying to brainstorm ways for people (Burger) to make a living
with PicoLisp as a tool.
 
 
best regards,
Jakob
 
--
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Proposal - Stack Overflow

2012-01-23 Thread Jakob Eriksson
 

Dear PicoLisp interested subscribers! 
 
Sometimes people ask questions here on the mailing list about PicoLisp
programming.
 
Given recent discussions, I have a suggestion:
 
Let us all get StackOverflow accounts. (I have one.)
Then, we post to this list look at this StackOverflow link - I have posted a
question
there. Will you please go there and we will continue solving this problem
there?
 
StackOverflow is THE site - is has gathered virtually ALL programming related
Q/A
discussion and sucked other forums dry.
 
If there were a few questions and answers about PicoLisp there, it would get
attention. It would also help newcomers, because SO is where newcomers go.
 
 
 
best regards,
Jakob
 
--
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Core Language

2012-01-26 Thread Jakob Eriksson


On January 26, 2012 at 1:34 AM Alex Gilding alex.gild...@talktalk.net wrote:


 2) Related to that, the download page describes miniPicoLisp as pure
 PicoLisp, supporting the full language. Is there any kind of
 established definition of what specifically constitutes the PicoLisp 
 
 
Good initiative!
I suggest we create such a list, for several reasons. We could prototype on
some wiki the definitions. My suggestions:
 
 
 
 - Virtual machine specification
 
   * Coding of cells and S-expressions in memory
   * how eval loop must run
 
   (Right now there are three standards, the miniPicoLisp,
    the 32-bit PicoLisp, and the x86_64 PicoLisp.)
 
 
 
 - Core language specification
 
   * list and data manipulating
   * very basic I/O, like stdin and stdout
 
 
 - Full PicoLisp Runtime Specification:
 - all of the above
 - PicoLisp database
 - networking
 - whatever is in the current PicoLisp download
 
 
 
Rationale for virtual machine specification:
 interoperability with (potential) 3rd party implementations,
 and ease implementation in PicoLisp in hardware. (FPGA: VHDL/Verilog/MyHDL.)
 
 
Rationale for Core Language Specification:
 make it easier to embed the language in embedded systems or in other
programs, like
 eLua and Lua, and also help 3rd party implementors.
 
Rationale for Full PicoLisp Runtime Specification:
 specify a core set of services, like how the JRE has also a has set of JDBC
connectors,
 network helpers, like how C the language also has it's standard C library and
so on.
 
 
This separation will also help new students to better understand how the
language works
and everything fits together.
 
 
On top of all of that, I am open to creating a 3rd party repository of
PicoLisp
libraries like CPAN for Perl or PEAR for PHP. These could live on a separate
server,
I could host it.
 
 
 
Pilog I don't know where to put in the lists above... can it be had separate
from the DB?
 
 
best regards,
Jakob
 
--
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: ersatz - can not access a member

2012-01-28 Thread Jakob Eriksson


On January 28, 2012 at 1:18 PM Alexander Burger a...@software-lab.de wrote:

 Hello Joe,

  I'm trying to write a simple java web server using the simpleframework.
  I'm
  close, but I process anything in the method handler:

 
And this excellent discussion is why we could say that we have official
PicoLisp Q/A on Stackoverflow.com
This was a perfect fit.  I would even ask you Joe to ask the same thing
on Stackoverflow.com again. ;-)
 
 
best regards,
Jakob
--
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: pl-web, almost a web development framework

2012-01-28 Thread Jakob Eriksson


On January 28, 2012 at 10:25 AM Henrik Sarvell hsarv...@gmail.com wrote:

 OK so I've got a first draft of something simple.

 As opposed to what has been requested before this is NOT a web
 development framework in the sense of RoR or even Ring.
 
 
But a very nice start! :-D
 
//Jakob
--
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Web app example using ersatz

2012-01-30 Thread Jakob Eriksson


On January 30, 2012 at 3:50 PM Joe Bogner joebog...@gmail.com wrote:

 I spent the weekend working on an example web app using ersatz. I've
 written it up here: http://picolisp.com/5000/!wiki?ErsatzWebApp

 Please let me know what you think
 
Awesome. I will bless it with the first bug report! :-)
 
When you create a TODO by pressing Enter, it does not work. (No
new record.) When you click with the mouse, it works. (Using Safari.)
 
 
best regards,
Jakob
--
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Web app example using ersatz

2012-01-31 Thread Jakob Eriksson




On January 31, 2012 at 11:19 AM Joe Bogner joebog...@gmail.com wrote:

 worried about the security of it. Maybe if I were to pick a single
 mimetype, I'd go with zip or tar.gz as that's the main reason someone
 would upload if it's too much to paste in as a code example or to
 include a complete working example with some supporting files (images,
 example DB, etc).


Idea: allow anything, but zip it on the server, and let people download the
zip. Since WE created the zip, it's not inherently dangerous, unless they
unpack it. When they unpack, the original filename will be intact, as
and added bonus. Attachments also take less space on the server filesystem
if you care about that sort of thing. :-)


best regards,
Jakob
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Suggestion for message to passers by

2012-02-03 Thread Jakob Eriksson


Hello!

Suggestion:  put prominently on the picolisp.com site two things:

How to sign up to this mailing list,

 and

if you ask a question on Stackoverflow and put the picolisp tag on the
question,
we have people monitoring there for new picolisp questions


best regards,
Jakob
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Google Summer of Code (GSoC) 2012

2012-02-28 Thread Jakob Eriksson



On February 28, 2012 at 11:26 AM Alexander Burger a...@software-lab.de wrote:


 Wouldn't be the Android porting project a good candidate for the Summer
 of Code?


Indeed it would.  I would also like to see a port to VHDL or Verilog. A
proof
of concept PicoLisp web server running its own bytecode machine on an FPGA.
I think I could dig up those kinds of students, I know an FPGA professor.

best regards,
Jakob
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Google Summer of Code (GSoC) 2012

2012-03-04 Thread Jakob Eriksson



On March 3, 2012 at 10:27 PM José Romero jose.cyb...@gmail.com wrote:



 Things left to design are how to keep track of sessions. Picolisp's
 persistent process system is simple and very efficient, but there
 should be a filesystem fallback for CGI. It would be also very
 desirable to make the existing GUI framework work with it. I'd really
 appreciate you input :)


Just concatenate to a binary file, with a small and efficient format. When
over a certain
size, switch to a new file, copy those sessions still alive from the old file
first, then
delete the old file. This should be fairly quick.

We also discussed on IRC, I think a compressing heap saver would be very cool,
but perhaps
something for the next SoC. :-)

best regards,
Jakob
--
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Google Summer of Code (GSoC) 2012

2012-03-04 Thread Jakob Eriksson



On March 3, 2012 at 11:56 PM Joe Bogner joebog...@gmail.com wrote:


 I guess for someone with no knowledge of picoLisp, as it relates to
 your proposal, why is picoLisp a good choice for web development? What
 would the successful completion of the proposal enable? I have some
 perspective but would be interested in hearing


It is a good choice, because it with such a small runtime it should
scale really well, betihster than Java, Python or PHP. This should
interest Google anyway.

Also it is sad that newbies or those with lack of funds get presented with
mostly PHP as a choice for host web sites. With PicoLisp as very
efficient CGI, there is another.


Slightly off topic:
Hm, another crazy idea... what if the CGI had a data fork in which
contained the database and sessions? Then a whole site could be deployed
with a single file. (I don't know if this is even technically possible
though.)


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


Re: Google Summer of Code (GSoC) 2012

2012-03-04 Thread Jakob Eriksson



On March 4, 2012 at 1:07 AM José Romero jose.cyb...@gmail.com wrote:

 
 One thing I love about picolisp is it's interactivity, I can interact
 with a running app using the repl (and the wonderful 'edit function).
 The equivalence of code and data and dynamic binding help a lot to
 alter the system as it's running to try out new things with a very
 quick turnaround time. And still, despite the great flexibility it also



This.  And the web framework could even have a repl or edit function
where you could edit a running site live. It could have Commit and
Revert buttons and a version history even. It could be the worlds
first self-contained web framework made for working in teams, if it
had different admin accounts.

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


Re: Google Summer of Code (GSoC) 2012

2012-03-05 Thread Jakob Eriksson



On March 5, 2012 at 8:49 AM Alexander Burger a...@software-lab.de wrote:


 This sounds useful. I don't know about the types of restrictions which
 might be imposed by such servers.

It is often that you may run only a PHP script or a CGI. And the CGI
can be either compiled static binary or Perl or Bash.

best regards,
Jakob
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: PicoLisp assembler in JavaScript?

2012-03-06 Thread Jakob Eriksson



On March 6, 2012 at 4:10 PM Jon Kleiser jon.klei...@usit.uio.no wrote:

 JavaScript, so one could rip off all (or most of) the assembly code that
 64-bits PL is written in? It seems like it could be a fun thing to do,
 at least for those who have some time available ... ;-)

I think it's a wonderful idea.
Off topic: http://picolisp.com/5000/-2-22.html
http://picolisp.com/5000/-2-22.html

 * how do I edit pages on that wiki?
 * I never understand under which topic an article belongs, which brings me to
the URL,
   it would be nice if the URL reflected the topic of the Wiki page.

best regards,
Jakob
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: PicoLisp assembler in JavaScript?

2012-03-07 Thread Jakob Eriksson


On March 7, 2012 at 8:30 AM Alexander Burger a...@software-lab.de wrote:

 Hi Jon,

  How many percent (very roughly) of the PicoLisp functions are depending on
  this 'native' function? If it's less than say 10%, one could probably find
  an alternative solution for these natives, or just ignore them. I'm only
  guessing.

 The interpreter itself doesn't depend on 'native' at all. The base
 system runs fine without it.

 Only add-ons like floating point math, or the OpenGL library, do need
 it.


I think PicoLisp is plenty fun and useful also without these addons.
Floating point could be reimplemented in other ways if really needed.

best regards,
Jakob
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Speedtest PicoLisp vs Emacs Lisp

2012-04-23 Thread Jakob Eriksson



On April 23, 2012 at 10:08 AM Thorsten quintf...@googlemail.com wrote:

 I knew something was wrong when I pasted the link, since there was a
 long discussiion about PicoLisp links here not so long ago - but it was
 already quite late when I posted so I did not investigate. Thanks for
 the tip.


Which is not as it should be. Links should be linkable. Why not do the
approach that ports etc are added to the right part of the URL and
discarded if visited by someone out-of-session?

Was that already proposed?

best regards,
Jakob
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Speedtest PicoLisp vs Emacs Lisp

2012-04-23 Thread Jakob Eriksson



On April 23, 2012 at 11:41 AM Alexander Burger a...@software-lab.de wrote:

 Hi Jakob,

  Which is not as it should be. Links should be linkable.

 Not necessarily. A login session is by definition an ephemeral
 situation, so its momentary state should better not be linkable.

 I regard this as a security feature ;-)


Ok I over-reached. In this particular situation though, with linking
to Wiki pages, it is not good that he has to log out first to link to
a page. It's not a great user interface.
Also, what about sending session things as cookies or POSTs instead of
in the URL?

I have a feeling we have been over this before though... :-)

best regards,
Jakob
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Fwd: finding the schwerpunkt

2012-04-23 Thread Jakob Eriksson

Our Schwerpunkt could be that elusive web IDE which can be deployed on free
CGI hosting and scale upwards.
:)

best regards,
Jakob
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: In Detail: Native C Calls

2012-05-09 Thread Jakob Eriksson



On May 9, 2012 at 3:33 PM Alexander Burger a...@software-lab.de wrote:



 Does anybody know of a programming language with an equally powerful --
 yet as simple -- C function interface? Except C/C++ of course ;-)

I think D has it. (D is pretty nice, it looks like C++ except the evil.)

best regards,
Jakob

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


Re: Ubuntu mess

2012-05-29 Thread Jakob Eriksson



On May 29, 2012 at 2:04 PM Alexander Burger a...@software-lab.de wrote:

 I've posted a bug report, asking for the upgrade, in the middle of
 March:

https://bugs.launchpad.net/ubuntu/+source/picolisp/+bug/956731


The report mentions that the bug is filed against Ubuntu in general and not
12.04 in particular.

Is this fixed? (I am not familiar with Launchpad and can not tell.)

best regards,
Jakob
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Ubuntu mess

2012-05-29 Thread Jakob Eriksson

I am not sure, but I suspect that the easiest way to get this fixed in Ubuntu
12.04 is create a point release for 3.0.8.10,
for instance replacing 3.0.8.10-1 with 3.0.8.10-2 or something, with a minimal
fix which only fixes the dynamic loader issue.


Now, I don't know the differences between 3.1.0.4 and 3.0.8.10 but in general
maintainers are very conservative about changes, so as to not introduce
unintended consequences.


(But as I said in my previous email, the problem may not be even that, but
rather that the bug was filed against the wrong package.)


best regards,
Jakob

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


Re: Ubuntu mess

2012-05-29 Thread Jakob Eriksson



On May 29, 2012 at 4:34 PM Alexander Burger a...@software-lab.de wrote:


 So let's wait a little if the upgrade will happen now as the bug is
 finally confirmed.


No, I am pretty sure that is not affecting it at all.

I think you as the bug reporter need to do what the janitor code said:

To change the source package that this bug is filed about visit
https://bugs.launchpad.net/ubuntu/+bug/956731/+editstatus
https://bugs.launchpad.net/ubuntu/+bug/956731/+editstatus and add the
package name in the text box next to the word Package.

best regards,
Jakob
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: PicoLisp Bible - Call for Papers

2012-07-19 Thread Jakob Eriksson


Great initiative!

I will try to put something short together on how portable the
very core of (mini)PicoLisp is. No promise though, but it would be fun.


best regards,
Jakob
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: New PicoLisp-Wiki major mode for GNU Emacs

2012-09-01 Thread Jakob Eriksson
Awesome

Thorsten Jolitz tjol...@googlemail.com skrev:


Hi List, 

I just published a new GNU Emacs major mode for editing files with the
PicoLisp-Wiki syntax. You can either clone the gitrepo or download the
el file here: 

,---
| https://github.com/tj64/picolisp-wiki-mode
`---

For Emacs users, the mode should make it super-convenient to write and
edit articles for the PicoLisp wiki. You can insert all markups with
easy keybindings, mostly without moving point. E.g., when inserting a
ordered list (C-c C-l o) , you will find point inside the braces of
the first list item and you can start typing the text. From inside this
item, inserting the next item with C-c C-l i will move point inside the
braces of the properly inserted and indented next item. 

The wiki markup is made visible by fontification. You can even use the
features of outline-mode/org-mode: navigate from headline to headline,
and use visibility-cycling on the headlines. 

This is still version 0.9. See HISTORY.org in the github-repo for bugs
and things to do to make it version 1.0. 

*Request for comments/help*:
The most important feature to make this mode *really* useful does
probably already exist, but needs to be figured out and described:
remotely access the PicoLisp-Wiki from within Emacs, probably using
*Tramp*, (add and) edit wiki files in picolisp-wiki-mode, then save them
on the server - without ever touching the web-interface. 

I'm not quite sure if and how this would work with the PicoLisp-Wiki,
since due to its dynamic nature (are there really 'files' involved?) it
might be a 'special case'. 


-- 
cheers,
Thorsten


-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
PԔ � j)mX�����zV�u�.n7�

Fast vendor response time (Was: Re: too many open files?)

2012-09-05 Thread Jakob Eriksson


Talk about fast vendor response time!



On September 5, 2012 at 9:34 AM Alexander Burger a...@software-lab.de wrote:

 Opps, I can reproduce it! And I found this is a bug in the 'dir'
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Token read

2012-11-09 Thread Jakob Eriksson


On November 9, 2012 at 6:13 PM Alexander Burger a...@software-lab.de wrote:

[read changes]


 Any objections?

On the contrary!  Not that I am a daily PicoLisp user these days, but I
remember stumbling over that once and being confused.
The proposed behavior is better.

best regards,
Jakob
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Conrad Barsky's Land of Lisp, in PicoLisp: wizards-game.lisp -

2013-02-20 Thread Jakob Eriksson
Plain awesome. So short! 

Re: Ersatz PicoLisp stuff

2013-02-20 Thread Jakob Eriksson
I feel we are getting closer to where PicoLisp could be used in Java for real. 

Re: Ersatz Picolisp misc interop libraries update

2013-03-09 Thread Jakob Eriksson
This is so awesome, getting access to all Java libraries etc from PicoLisp :)
PԔ � j)mX�����zV�u�.n7�

Re: Segmentation fault (Was: Subscribe)

2013-05-17 Thread Jakob Eriksson
Yes,  the FAQ should definitely elaborate on that, since people are used to 
that interpreted languages can not induce segfaults on their own. Also explain 
perhaps that the interpreter could check all C calls against a white list, but 
it would take a lot of time 

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

Hi Oskar,

 bitte melde mich fuer die email liste an.

Sure! It happened automatically already :)


 : (setq foo 1)
 - 1
 : (foo)
 Segmentation fault (core dumped)

I understand your worries, but this is actually a feature.

In general, PicoLisp doesn't catch such errors, as this would induce
relatively high runtime overhead, in contrast to their extremely rare
occurrence in production programs.

And, after all, Segmentation fault *is* an error message, generated by
the hardware, isn't it? And you test your program at least once, don't
you?


Setting a symbol to a number (like '1' above) is perfectly legal. And
calling a symbol with a numeric value means to call an internal
function (i.e. a function pointer). However, at memory location '1'
there is probably no function, but the interpreter cannot know this.

To avoid potential dangers like the one above, where a variable is
called as a function, PicoLisp recommends strongly to adhere to certain
naming conventions:

   http://software-lab.de/doc/ref.html#conv

You would use 'Foo' for locally bound symbols, and 'foo' for a global
symbol (what a function typically is), and have no problem.


Perhaps the FAQ

   http://software-lab.de/doc/faq.html#segfault

should elaborate more on that?

♪♫ Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
PԔ � j)mX�����zV�u�.n7�

Re: Are PicoLisp's coroutine stacks legal?

2013-05-20 Thread Jakob Eriksson

Wow, I just have to comment this. Amiga + picolisp in the same post = awesome.
/me crawls back under rock


On May 20, 2013 at 11:13 PM Jorge Acereda Maciá jacer...@gmail.com wrote:
 Hi,

 I can only say that under AmigaOS it would certainly be a no-no:

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


good morning

2013-09-07 Thread Jakob Eriksson
so good to you see activity this early in the weekend. :)

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


Re: Great canvas article and demo

2013-09-16 Thread Jakob Eriksson


On September 16, 2013 at 9:30 AM Tomas Hlavaty t...@logand.com wrote:

 3) I guess most of the overhead of the http request is probably
establishing the connection.  My bett is that it doesn't really
matter if you send 1kB or 5kB of data.  For example, if I run this


It might matter, the only way to make sure is to measure. For instance
you can fit an answer inside an IP packet completely, it may make a
difference. (There are also many other things to consider, for instance
if there are CSS or Javascript resources which are blocking start of
browser rendering, until those are loaded.)

best regards,
Jakob
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: A few quick emu/pil timings

2013-09-24 Thread Jakob Eriksson
Bikeshedding! Debian. 

Henrik Sarvell hsarv...@gmail.com skrev:

If VM can't be avoided isn't Gentoo more minimal than Arch?

http://www.gentoo.org/


On Tue, Sep 24, 2013 at 7:05 PM, Thorsten Jolitz tjol...@gmail.com wrote:
 Mansur Mamkin mmam...@mail.ru writes:

 in case of Windows don't forget to look at coLinux and andLinux:

 Isn't archlinux quite popular now between 'minimalists'?

 ,---
 | https://www.archlinux.org/
 `---

 --
 cheers,
 Thorsten

 --
 UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
PԔ � j)mX�����zV�u�.n7�

Re: Programming can be futuristic

2013-10-24 Thread Jakob Eriksson
Well, if PicoLisp was ported to

http://zerovm.org/wiki/The_Cloud_Hypervisor

then we'd definitely be there.

Thing is, I think it might be a good fit!

On 2013-10-24 06:23, Henrik Sarvell wrote:
 This guy has obviously not discovered PicoLisp yet :-)
 
 http://www.ianbicking.org/blog/2013/10/why-isnt-programming-futuristic.html
 

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


Re: Would a logging framework make sense for PicoLisp

2014-04-11 Thread Jakob Eriksson
If it is derivative, you should ask. 

On April 11, 2014 7:07:25 PM CEST, Henrik Sarvell hsarv...@gmail.com wrote:
I feel like I have changed the original now to such an extent that I
don't
have to ask anymore :-) It feels like a derivative work.

However, attribution is kept in the source:
https://bitbucket.org/hsarvell/ext/raw/b2516583e54a97c0e903dcb5b63b0b3cb8c1934a/log.l

And here: https://bitbucket.org/hsarvell/ext

Only difference in behaviour is that if you do for instance (setq
*LogOn T)
results will be unpredicable, it needs to be set to NIL or one of the
four
values, for instance (setq *LogOn 'debug).

Enjoy!



On Fri, Apr 11, 2014 at 9:28 PM, Henrik Sarvell hsarv...@gmail.com
wrote:

 Hi Andreas, can I put this in my ext lib:
 https://bitbucket.org/hsarvell/ext ?

 I will of course keep the head with your email and info etc.




 On Mon, Mar 10, 2014 at 6:06 PM, Thorsten Jolitz
tjol...@gmail.comwrote:

 andr...@itship.ch writes:

 Hi Andreas,

  I'm not sure if I understand you correctly.
  You can use (log) in different ways, e.g.:
  (log just a message)
  (log 'debug variable x is x)
  (log 'warn folder size is reaching 1GB)
  (log 'error a fatal error occured)
 
  If (on *LogOn), all messages get printed.
  If (setq *LogOn 'warn), only warn and error messages (the 2 at
bottom)
  will be printed.
  If (setq *LogOn 'error), only the last message will be printed.

 ok, I see, so its the programmers responsability to put 'warn and
'error
 level statements in places that are only reached under some error
 condition and nowhere else.

  So far this system only handles messages which you explicitly send
  yourself with (log Type any ...). Error ouput from pil isn't
getting
  handled, as I don't know how I could do that. Pil error messages
can be
  redirected to a file with (err), but I don't see a way to get it
  redirected to a function...
 
  Does this answer your question?

 Yes, thanks!

  Thorsten Jolitz tjol...@gmail.com
  writes:
 
  after testing a bit more I have one question:
 
  It seems the levels 'warning and 'error unconditionally print
their
  messages when *LogOn is set to them, but from my understanding
these
  levels would eventually be turned-on in production code and thus
  should only print something when something goes wrong in the
program
  execution.
 
  Would it be possible to only log messages from catched error with
level
  'warning and try to log some system information when there is a
real
  uncatched error with log-level 'error? So that level 'warning
would
  become the default level for production code and nothing is
printed as
  long as the program runs smoothly?
 
  --
  cheers,
  Thorsten
 
  --
  UNSUBSCRIBE:
  mailto:picolisp@software-lab.de?subject=Unsubscribe
 
 
 
 

 --
 cheers,
 Thorsten

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




-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.

Re: Regarding the implementations of PicoLisp

2014-05-12 Thread Jakob Eriksson
And this is an excellent example of PicoLisp going the extra mile. Instead of 
handling C as the lowest abstraction, going to the actual machine. I imagine 
other interpreted languages could be faster if designed with this attention to 
detail. 

On 12 maj 2014 08:24:13 CEST, Alexander Burger a...@software-lab.de wrote:
On Mon, May 12, 2014 at 08:06:57AM +0200, Alexander Burger wrote:
 The problem with this is that is horribly inefficient. The dynamic
version
 
myStruct bnd[length(x)];
 
 simply decrements the stack pointer by length(x) * sizeof(myStruct)
 (which is a single machine instruction!), while the malloc() call
 involves the whole memory management machinery.

BTW, this inability of C to properly support stack manipulations was
the
main reason to write the 64-bit version of PicoLisp in assembly.


As I wrote this in http://software-lab.de/doc64/README

The reasons to choose assembly language (instead of C) were, in
decreasing order
   of importance:

  1. Stack manipulations
Alignment to cell boundaries: To be able to directly express the
desired
  stack data structures (see doc64/structures, e.g. Apply frame), a
 better control over the stack (as compared to C) was required.

Indefinite pushs and pops: A Lisp interpreter operates on list
structures
of unknown length all the time. The C version always required two
passes,
the first to determine the length of the list to allocate the necessary
stack structures, and then the second to do the actual work. An
assembly
version can simply push as many items as are encountered, and clean up
the
 stack with pop's and stack pointer arithmetics.

  ...



Pushing and popping data of unknown length is at the heart of the
PicoLisp
interpreter. It is done all the time.


Note that even with arrays of variable length, as in the discussed
case:

   myStruct bnd[length(x)];

it is still not optimal, because the interpreter has to call length()
on
the list first, before actually processing it. The list needs to be
traversed twice.

In a language with proper stack control, you can simply call 'push' in
the loop doing the processing.

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

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

Re: Regarding the implementations of PicoLisp

2014-05-14 Thread Jakob Eriksson
Heartbleed vs custom memory allocator is a false dichotomy. The problem with 
OpenSSL was a bad development model. A security library should have a 
development model focusing on security. Security is a process and taking 
responsibility for design decisions and committing to them, not letting things 
slip out of hand over the years. 
-- 
Skickat från min Android-telefon med K-9 E-post. Ursäkta min fåordighet.

Re: Regarding the implementations of PicoLisp

2014-05-14 Thread Jakob Eriksson


On May 14, 2014 at 4:03 PM andr...@itship.ch wrote:

 PicoLisp can and might be used to implement security applications.

Of course.

 So better use standard proved OS mechanisms and have some more initial
 effort to get it running, I think.

The standard proved OS mechanism are all different for all the libcs
and platforms out there. Testing is advised. Why do you trust the true
and tested libc on some unpatched Windows XP over your own, highly
vetted and unit-tested custom code?  You shouldn't.

Veering off topic here ...

but sorry, you can't look at OpenSSL, a very, very ill patient, and
decide that one single symptom is the cause of its disease.

OpenSSL had a bad fever. You decide that it was because OpenSSL
made its own socks. You ignore that OpenSSL also smoked crack,
ate only at McDonalds, never exercised, drank a lot, and never wore
anything but a T-shirt in the winter.
Oh, and OpenSSL made the socks not to stay warm, but because
OpenSSL thinks that making his own socks makes him run faster.
Or something...

sorry for the rant, but the take-home from OpenSSL is more like,

don't make your own memory manager without caring even a little
bit about if its secure or not, only that its FASTER than some
old buggy libc you once encountered 10 years ago.




 The heartbleed bug wouldn't have had such a devastating effect if they
 wouldn't have implemented their own memory management.

The heartbleed bug wouldn't have existed in the first place if
these developing protocols would have been in place:


 - test on other memory allocators. Just to ensure conformance.

 - create decent unit tests would
   (including inputting invalid data, black box testing)

 - remove the HUGE chunks of unused code
   (unused code obscures the real code and makes it harder to read)

 - their custom memory allocator would have cleared out memory on free
   (like the OpenBSD allocator does)

 - they would have had any focus security at all


I have no problem with the strategy to for instance use a custom
allocator with an unsecure default allocator, but defaulting to the
system allocator on good platforms like OpenBSD.


Disclaimer though, I have actually no particular axe to grind with the
actual OpenSSL developers. I have more scorn for those USING OpenSSL
in their products. The API is convoluted, the code is questionable.
If possible, avoid. Thankfully the OpenBSD developers have stepped
up to the challenge and forked openssl:

https://en.wikipedia.org/wiki/LibreSSL

(That won't fix the API I guess, but at least the security will improve.)

Although, for all their bragging about security, they should have done
that 10 years ago. But better late than never.

Sorry for the bitterness. :)


--jakob



PS

There is also the larger picture. Which is best, having unencrypted
communications and knowing it, or having encrypted communications,
but unaware of the gaping in holes in security?
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Regarding the implementations of PicoLisp

2014-05-14 Thread Jakob Eriksson
Yes, but it would help if the allocator cleared returned memory if I recall 
correctly. 

On May 14, 2014 6:40:59 PM CEST, Alexander Burger a...@software-lab.de wrote:
Hi Jakob,

 Veering off topic here ...
 ...
  The heartbleed bug wouldn't have had such a devastating effect if
they
  wouldn't have implemented their own memory management.
 ...
  - test on other memory allocators. Just to ensure conformance.
 ...
 I have no problem with the strategy to for instance use a custom
 allocator with an unsecure default allocator, but defaulting to the
 system allocator on good platforms like OpenBSD.

Why I enjoyed your rant very much, I must mention that according to
what
I heard about the heartbleed bug, it is not the fault of the memory
allocator.

The bug happened because the _sizes_ of incoming and outgoing data were
not handled correctly:

1. Incoming packet says it is 64k, but in fact is only one byte.
2. The single byte is written to the buffer (here the receiver _must_
   know the size independently of what the packet tells).
3. The reply sends all 64k from the buffer, using the wrong value from
   the packet instead of its known count of written bytes.

For this scenario, it would not help if the buffer were allocated by
another memory manager, or even be static.

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

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

Re: try picolisp

2014-08-28 Thread Jakob Eriksson
Maybe not with Emscripten. 

On August 28, 2014 7:41:12 PM CEST, Mike Pechkin mike.pech...@gmail.com wrote:
hi,

Is it hard to implement minimalist version of minipicolisp in browser ?
Like http://tryclj.com/ ?

Mike

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

Re: Announce: PicoLisp in Hardware (PilMCU)

2014-09-19 Thread Jakob Eriksson
Fantastic, this is truly great. I have been hoping for years
someone would pull this off.

Congratulations.


best regards,
Jakob


On September 19, 2014 at 1:39 PM Alexander Burger a...@software-lab.de wrote:
 Hello List,

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

 We, that is George Orais (who persuaded me into the project) and me.
 Georg built the actual machine in Verilog, and I did the changes and
 extensions to PicoLisp.


 PilMCU is an implementation of 64-bit PicoLisp directly in hardware. A
 truly minimalistic system. PicoLisp is both the machine language and the
 operating system:

* Memory management is trivial, just the Lisp heap and the stack
* The built-in database is extended to hold a file system
* One SSD per database file for mass storage
* Processes run as tasks and coroutines
* Events (timing and interrupts) via a 'wait' instruction
* Complex I/O protocols are delegated to peripheral chips

 The final hardware can be very lightweight. Low transistor count and
 power consumption. No overhead for an OS. It is conceivable for a later
 stage to put many interconnected CPUs on a single chip.

 At present, we have it running in the Verilog simulator, and in an
 emulator (adaption of the PicoLisp 'emu' architecture).


 How shall we proceed? We need investors (or crowdfunding) to polish,
 manufacture and distribute the real thing.

 We imagine something in the line of an Embedded Lisp Machine or a
 Lisp Machine Kit. Perhaps for home brewing, educational institutions
 and/or robotics research?

 Is anybody interested -- or knows people who are?


 For the fun of it, here is a sample session:

$ make mcuvvp -M. -mtty mcu   # Build and start Verilog engine
:

$ make emu./emu ssd@ ssdA # Or: Build and start the emulator
:

 Now we are in an environment equivalent to the standard 'pil +'. The
 database is open on two image files for two SSD drives. Besides the
 normal, full DB functionality

: (show *DB)
{1} (7 . {17})
   T ({2} {20} {56} {64} {105} {146})
- {1}

 you can call 'in', 'out', 'load' and 'rm' on files which are maintained
 in external symbols:

: (dir)
- (lib.l lib/)

: (dir lib)
- (btree.l db.l dbg.l misc.l pilog.l sq.l)

: (in lib/db.l (read))
- (de dbs Lst (default *Dbs (_dbs 1)))

: (out foo/bar/mumble.l (prinl Hello world))
- Hello world
: (in foo/bar/mumble.l (line))
- (H e l l o   w o r l d)

: (dir foo/bar)
- (mumble.l)

: (cd foo/bar)
- foo/bar/
: (dir)
- (mumble.l)

: (pwd)
- foo/bar/

 Path names are stored as a normal B-Tree in the DB root:

: (scan)
foo/bar/mumble.l {172}
lib.l {2}
lib/btree.l {64}
lib/db.l {105}
lib/dbg.l {20}
lib/misc.l {56}
lib/pilog.l {146}
lib/sq.l {166}

 They point to external symbols, like {2} for lib.l.

(load '{2})

 is equivalent to

(load lib.l)

 The values of these symbols hold the file size:

: (show '{2})
{2} 12401
- {2}

 They should not have properties, and store the raw file data invisibly
 in dynamically maintained DB blocks.

 The rest of the system is standard PicoLisp :)

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


PicoLisp on Raspi

2014-09-19 Thread Jakob Eriksson


On September 19, 2014 at 3:18 PM Joe Bogner joebog...@gmail.com wrote:
 This might be off base, but is it within the realm of possibility to
 run PilMCU on a raspberry pi now or in the future? That's an accessible
 piece of hardware that many people already have (myself included). These
 people may also be willing to fund the work


Raspi runs linux, so you can run PicoLisp on it right now. PilMCU is about
new hardware chips.
You could of course go the middle way, that could attract some attention:
port PicoLisp to bare Raspberry Pi hardware. Also an interesting prospect.
But the ARM cpu in the pi is not a natural fit, it is not 64 bit, only 32.
So it would be more of a promo thing. But very cool in its own right.

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


Re: Announce: PicoLisp in Hardware (PilMCU)

2014-09-20 Thread Jakob Eriksson


On September 19, 2014 at 7:32 PM Thorsten Jolitz tjol...@gmail.com wrote:
 Loyall, David david.loy...@nebraska.gov
 writes:

  The Internet would like to run this locally.  Would you post the
  verilog source and build files?  Or a link to a repository?

 I think this has the potential to make a very nice and successfull
 kickstarter project, so why not try to build a business idea around it
 instead of just giving away the verilog source and build files?

+1

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


Re: Picolisp Specific Training

2014-09-25 Thread Jakob Eriksson
Maybe Alex could for a price? 

On September 25, 2014 5:54:02 PM CEST, jerome moliere jer...@javaxpert.com 
wrote:
Hi all,
I think that everything is in the title...
Do you know if someone supplies such training ?
Kind regards

-- 
J.MOLIERE - Mentor/J

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

Re: MiniPicoLisp Code in ROM

2014-10-08 Thread Jakob Eriksson

Great to read on pilmcu and other updates!


On October 8, 2014 at 8:23 AM Alexander Burger a...@software-lab.de wrote:

 But I feel that it doesn't make sense except for miniPicoLisp. By doing
 so, you save a few hundred kilobytes in RAM at most, but get the
 disadvantages of a less flexible runtime environment. I do not see
 significant advantages for pilMCU.

 So I have no plan at the moment to do that.

But if the need would arise, it would not be exactly hard to implement?

best regards,
Jakob
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Strange PicoLisp site

2014-10-27 Thread Jakob Eriksson
someone registered that domain for PicoLisp, then did not renew the fee.

When it was expired, the domain was snatched (like most expired domains are)
by one of these companies which do nothing else but buy expired domains and
resell them.

The boilerplate text is just random junk to keep the page in google's index,
to keep the value of the domain up a tiny little bit.

--jakob


On October 27, 2014 at 9:49 AM Thorsten Jolitz tjol...@gmail.com wrote:

 Hi List,

 have you seen this website:

 ,
 | http://www.picolisp.org/
 `

 Its a nice looking website, but I cannot see no connection to PicoLisp
 whatsover. Or does 'picolisp' have other no technical meanings to native
 English speakers?

 Even the camel case they use is the same as in PicoLisp, maybe Alex
 should sue them for copyrights violations ... ;-)

 --
 cheers,
 Thorsten


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


Re: Strange PicoLisp site

2014-10-27 Thread Jakob Eriksson


On October 27, 2014 at 10:20 AM Alexander Burger a...@software-lab.de wrote:
 Hi Jakob,

 our mails just crossed ;-)

  someone registered that domain for PicoLisp, then did not renew the fee.

 Yes, javuchi messed it up somehow, but it may not be only his fault. It
 seems to be possible that domains are stolen during transfers even if
 all fees were properly handled.

 We had this once with with software-lab.org, which we hosted at Strato
 (strato.de), and which was stolen during a transfer many years ago.

I did not mean to put blame on anyone, except perhaps myself. I had forgot
how it played out in detail.

Anyway, there are ways to transfer the domain ownership without risking
losing it. One of the best is to use the same DNS registrar for both
the old and new owners.

https://support.loopia.com/wiki/How_do_I_change_the_owner_of_my_domain_names%3F


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


Re: pilMCU progress (slowed)

2014-11-25 Thread Jakob Eriksson


On November 25, 2014 at 11:19 AM Kuba Tyszko k...@lbl.pl wrote:
 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 ?

It is a new 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 ?

pilMCU is a new CPU. However, regular PicoLisp, can, and has been, ported to
various microcontrollers.
Any 32 or 64 bit microcontroller can have PicoLisp ported to it.

best regards,
Jakob
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Minor diff between 32-bit and Ersatz re. redefined

2014-12-11 Thread Jakob Eriksson


On December 11, 2014 at 3:39 PM Alexander Burger a...@software-lab.de wrote:
 Hi Jon,

  (dm T (X Y) (=: x X) (=: y Y))
  and then repeat the last line, then Ersatz will say # T +Shape
  redefined, but 32-bit PicoLisp will give no such redefined warning. It
  may not matter very much, I just wanted to mention it. (I haven’t tried
  64-bit.)

 Oops, yes, very good! That's a bug in 'dm', in the place where the
 values are compared. I've fixed it.

A bug in Erzats?

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


Re: Merry Christmas!

2014-12-24 Thread Jakob Eriksson
Merry Christmas to you too :-) 

On December 24, 2014 9:37:30 AM CET, Mattias Sundblad mattias@gmail.com 
wrote:
Hi,

I'd like to wish everyone on the list a merry christmas and a happy new
year. Learning Picolisp is a great and fun challenge for me at least
and
I'm looking forward to continuing the journey.

Also, a big thanks to Alex for all the hard work put into the language,
designing and developing it as well as guiding us new ones along :).

Merry Christmas!

Mattias

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

Re: Java Interoperability - Why bother with Clojure?

2015-02-02 Thread Jakob Eriksson
Interesting development you have there, connecting the JVM to PicoLisp
proper.

Which makes me wonder about Ersatz PicoLisp though.
How would it stand against other JVM alternatives? I know that Ersatz is
not as
fast as native PicoLisp. But for instance Groovy, is really slow on the JVM.
Maybe Ersatz would be fast enough for serious work too, if Groovy is.



On 02/02/15 15:11, Alexander Burger wrote:
 Hi all!

 A new library to call Java code from/to PicoLisp:

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

 ♪♫ Alex

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


Re: Java Interoperability - Why bother with Clojure?

2015-02-02 Thread Jakob Eriksson

On 02/02/15 15:50, Alexander Burger wrote:
 Hi Jakob,

 Which makes me wonder about Ersatz PicoLisp though.
 How would it stand against other JVM alternatives? I know that Ersatz is
 not as
 fast as native PicoLisp. But for instance Groovy, is really slow on the JVM.
 Maybe Ersatz would be fast enough for serious work too, if Groovy is.
 But why bother to use Ersatz at all? And not the real thing?



For using with Java? It depends. If I had a say of the deployment stack,
yes, then why not use the real thing.
I would choose native PicoLisp in a heartbeat!
This bridge you developed is really good for mixing
native PicoLisp performance with Java ecosystem.

But sometimes the programmers don't have anything to say about
how the servers are run - they just are told that we deploy the JVM
with this and this version. They can use any language, just as long
as that language works *inside* the JVM.
In those instances, alternatives such as Ersatz are really nice.

(By the way I really meant to say Clojure, not Groovy, but it doesn't
matter. Ersatz could be a competitor to all the JVM languages.)

best regards,
Jakob


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


Re: A Minimal PicoLisp DB/GUI Application

2015-01-12 Thread Jakob Eriksson
It's a really good example. 

On January 12, 2015 8:34:08 AM CET, Alexander Burger a...@software-lab.de 
wrote:
Hi all,

perhaps this is useful:

   A Minimal PicoLisp DB/GUI Application

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

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

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

Re: modules?

2015-02-10 Thread Jakob Eriksson
Even if that were so, couldn't we fix this with a convention in the module 
loader? That is, the loader concatenates all files into one upon loading. 

Is this crazy talk? 



On February 10, 2015 9:47:54 AM CET, andr...@itship.ch wrote:
Hi Lawrence

Nice you're taking part here!
You're basically on the right track, but I think the things you mention
don't work here, as picoLisp is strictly an interpreted language, there
is no layer between source code and execution where such a
name-mangling could happen.
The source code IS the programm, which also has the great advantage
that no magic and no weird stuff is happening which is not in the
source code.

There is namespace support in picoLisp (
http://thread.gmane.org/gmane.lisp.picolisp.general/2680 ), but
currently I'm not sure if the problem is solved with it.
I stopped using it in my personal work for some reasons I don't
remember on the top of my head, but I think it was about problems with
definining a namespace in multiple/different files...


- Original Message -
From: Lawrence Bottorff [mailto:borg...@gmail.com]
To: picolisp@software-lab.de
Sent: Mon, 9 Feb 2015 20:23:16 -0500
Subject: 

I'm a total Lisp noob (and a very rusty programmer), but from OO (Java,
et
al) there is (behind the scenes, i.e., preprocessor) name mangling.
There's
also tagging stuff with a huge hash generated numbers I say all this
because I'm hearing the need for uniqueness and anti-name-clash --
across
files and systems. Is that a correct assumption here? So when you call
your getBob function, some other code you're involved with doesn't
think
that its (totally by chance also named) getBob function is meant. Am I
on
the right track?

LB

On Mon, Feb 9, 2015 at 7:12 PM, andr...@itship.ch wrote:

 Hi list

  Could we cook up a convention?

 Pretext
 -
 In this context I assume modules is meant not in the sense of
program
 design but in the sense of software packages, a format to
download/copy a
 piece of picoLisp code (maybe accompanied by other files, e.g.
pictures)
 and insert it into your own picoLisp environment and/or picoLisp
 application and getting it running without further manual adaption.

 I see a potentially big advantage of such a formalized system, as it
could
 greatly enhance picoLisp code reuse, and also work somewhat against
the
 Lisp Curse [1] and the sometimes claimed lack of libraries.

 But it must be designed very carefully, keeping it as simple and
short as
 possible, keeping it free from any assumptions (about the picoLisp
 environment or the layout of a picoLisp application) besides the
absolute
 bare necessary ones, so no restrictions are put on the kind of code
and
 applications using it. This thing is a easy path to bloatware, and to
my
 understanding the picoLisp philosophy is all about precluding bloat.

 So I see following problems:
 1) identity: how to identify a module and all parts belonging to it?
  (uniquely and universal)
 2) dependencies on other modules: how to verify if another module,
which
 the current module depends on, is 'installed' (and functional) ?
 3) versioning of modules?
 4) upgrading/downgrading of a module version, also: being able to use
 multiple versions of a module in the same environment
 5) name clashing, especially of picoLisp code/symbols/function
names/class
 names/etcetera
 6) lets assume modules are not only used to extend the picoLisp
 environment (e.g. stuff in @lib/), but also for applications and
parts of
 applications - then there should probably a way to formulate which
database
 schema / class definitions (and more!) a module requires/expects for
the
 environment where it should run in.
 7) documentation - how does the interested module user find out what
a
 given module does and how does he/she decide if it solves his/her
needs?
 8) in which form would a module be distributed?
 9) uniform method of error reporting, especially to spot the source
of an
 error in a composition of modules
 10) other problems?

 Oh, special question
 -
 we have package manager on OS (e.g., apt-get), now we have all this
hip
 programming languages with one or even multiple package managers
each,
 ruby, node.js (npm), python?, .net, java?, php (pear and another one)
and
 many more.

 DO WE REALLY NEED TO CREATE ANOTHER ONE?

 Maybe we could come up with a small tool, which can take picoLisp
code
 (and a bunch of files) and create a package to use with one of those
 existing module/package managers?
 I mean the question in the spirit of http://xkcd.com/927/

 My thoughts on solutions
 --
 (previous question ignored for the moment)
 Whenever I stumble on such common software design problems, I query
the
 Wiki (that is the first original wiki, originally being a collection
and
 discussion of Design Patterns).
 A first search [2] brings some nice results like What is a module
[3]
 and especially the Module Dependency Problem [4] (that one we
should
 

Re: modules?

2015-02-09 Thread Jakob Eriksson
Could we cook up a convention? 

On February 9, 2015 6:12:17 PM CET, Henrik Sarvell hsarv...@gmail.com wrote:
Hi Lawrence, if you're talking about something like Ruby's gems, then
no.

On Mon, Feb 9, 2015 at 5:45 PM, Lawrence Bottorff borg...@gmail.com
wrote:

 I'm wondering what you offer in lieu of modules (as with, say,
Python). Is
 there a black box way to package up code in picoLisp that has
 module-like serviceability?

 LB


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

Re: Sorry, no repo (Was: Google Code closing)

2015-03-17 Thread Jakob Eriksson
Fair enough! 


Whatever works best for you is for the best. 



On March 17, 2015 7:34:09 AM CET, Alexander Burger a...@software-lab.de wrote:
Hi Jon, hi all!

I'm very sorry, but from now on I won't support any repo for PicoLisp.


As ever, the most up-to-date version can be downloaded from

   http://software-lab.de/picoLisp.tgz

and related stuff is linked from the Download page

   http://software-lab.de/down.html


 I like being able to keep an eye on what Alex is working on. ;-)

Sure :)

I'll provide a ChangeLog file with more extensive notes about what is
going on.

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

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

Re: Announce: 7fach BlitzMenu

2015-03-13 Thread Jakob Eriksson
Congratulations! 



On March 12, 2015 7:29:02 PM CET, Alexander Burger a...@software-lab.de wrote:
Hello list,

let me announce 7fach BlitzMenu, our first attempt for a public
application since 9 years :)

It is for gastronomers, restaurants or canteens, to maintain their
dishes and beverages in a database, and allow them to generate their
daily or weekly menus with just a few mouse clicks.

Independent from the question whether it will be a commercial success
(I
hope it does), it has some interesting aspects from a technical
(PicoLisp) point of view:

1. It allows the user to directly edit PostScript layout templates in a
   Canvas. Then these layouts can be combined with groups of articles
   from the database to generate PDF and HTML files.

2. I found out that the '+Bag' relations can be nested. This allows the
   creation of multi-dimensional data structures, directly in the DB
   model.

   Normally, a (+List +Bag) represents a two-dimensional table, which
   maps to a '+Chart' in the GUI. To my own surprise, it works also if
   an element in a bag is a (+List +Bag) again (i.e. nested Bags),
   resulting in a three-dimensional structure:

   (rel grp (+List +Bag)   # Groups/Articles
  ((+Bool))   # Aktive
  ((+String)) # Description
  ((+List +Bag)   # Articles
 ((+Bool))   # Aktive
 ((+Link) (+Art)) ) )# Article

  And: I found a way to allow direct editing of these structures in the
  GUI, by connecting charts on the different levels with radio buttons.
   In principle, this can be extended to as many dimensions as desired.

The system is ready for production use now, and can be found at

   http://BlitzMenu.7fach.de

Initial language is German, but you can switch to English if you like.
Other languages are planned but not yet supported.

The second entry in the navigation on the left is Introduction. Here
you may view a short video (without sound) showing the basic usage.

And the third entry is Try yourself. If you click on Start demo
application you get a private demo database in a sandbox, where you
can
play around yourself. Note that your data are lost when you close the
browser session.

Please don't submit the form on New registration (unless, of course,
you want to become a customer ;)

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

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

Re: Google Code closing

2015-03-13 Thread Jakob Eriksson
Github.com is really nice. 

On March 13, 2015 9:02:10 AM CET, Jon Kleiser jon.klei...@fsat.no wrote:
Hi,

It looks like PicoLisp will have to move from Google Code:
http://arstechnica.com/information-technology/2015/03/google-to-close-google-code-open-source-project-hosting/

Maybe GitHub could be a good alternative? I like being able to keep an
eye on what Alex is working on. ;-)

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

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

Re: Google Code closing

2015-03-13 Thread Jakob Eriksson
Github.com is more than a repo, it's a community of developers. 

On March 13, 2015 12:56:32 PM CET, Alexander Burger a...@software-lab.de 
wrote:
Hi all,

Alea iacta est :)

Mike Pechkin has set up a repo at bitbucket. More next week.

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

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

Re: Google Code closing

2015-03-13 Thread Jakob Eriksson
And github.com has like, what, 1000 times more developers. 

:-) 

On March 13, 2015 4:32:05 PM CET, Alexander Williams a...@unscramble.co.jp 
wrote:
Everyone's comments are valid, but we need to remember:

For PicoLisp's user base to grow, lowering barriers to entry should be
the
first priority.


On Fri, Mar 13, 2015 at 2:51 PM, Loyall, David
david.loy...@nebraska.gov
wrote:

  Mike Pechkin has set up a repo at bitbucket. More next week.
 [...]
  Github.com is more than a repo, it's a community of developers.

 Once the repo is available on bitbucket, it will be trivial to set up
an
 automatic mirror.

 Philosophically, I favor bitbucket.  Pragmatically, I favor
github(R).

 A mirror (with bitbucket being primary) serves both masters.

 If no one on the list already knows how to set up the automatic
mirror and
 volunteers to do it, I'll volunteer to learn how to do it.

 Cheers,
 --Dave



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

Re: A PicoLisp native library tutorial

2015-03-03 Thread Jakob Eriksson
Yep.

Definitely interesting.




On 03/03/15 18:50, Joe Bogner wrote:
 Nicely done. Thanks for sharing

 On Tue, Mar 3, 2015 at 12:16 PM, Henrik Sarvell hsarv...@gmail.com wrote:

 Nice!

 On Tue, Mar 3, 2015 at 5:36 PM, Alexander Williams
 a...@unscramble.co.jp wrote:
 Hi list,

 Some of you might know me from IRC @aw-Unscramble.

 I've written my first PicoLisp library, a native C binding for Nanomsg
 (picolisp-nanomsg) - as an experiment for myself to learn this language.

 In doing so, I ran into a few difficulties (mostly noob stuff) but
 Regenaxer
 has been very helpful and patient.

 I also wrote a tutorial explaining the code, to help other newbies
 understand some useful features of PicoLisp:

   https://github.com/aw/picolisp-nanomsg/blob/master/EXPLAIN.md

 And of course, the library: https://github.com/aw/picolisp-nanomsg


 Thanks!

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


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


Re: Solaris 10 picolisp 64 build

2015-03-03 Thread Jakob Eriksson

You are not by any chance on a Sparc platform?




On 03/03/15 20:57, Rick Hanson wrote:
 Sorry in advance if you’ve already covered this issue in the past.

 I’m on Solaris 10; I can build the 32-bit picolisp (3.1.9) with no problem.
 Then, I go do a (cd src64; make) (which is GNU make btw); this builds the
 x86-64.sunOS.base.s file via mkAsm, but it fails in the next step on gas
 --64 (which reads the .s file) with a bunch of errors of the form

 Error: Unknown opcode: `$OP'

 where $OP is any one of several opcodes, e.g. adc, addq, clc, ja, jbe, jz,
 movb, mul, etc.

 FIrst, I thought that a very old version of gas might be causing the issue
 (i.e. maybe it was not able to understand some of the new (?) opcodes; yes,
 I was very optimistic :); so I downloaded, built and installed binutils
 (2.24.51) which gave me a new gas. The new gas was of no avail — the same
 types of errors occurred.

 So, I then downloaded the .s files for Solaris from here:
 http://software-lab.de/x86-64.sunOs.tgz and unarced them in the picoLisp
 directory. As you can imagine, this didn’t work either — the same Unknown
 opcode messages were appearing.

 I suspect that I’m making a very fundamental mistake here, but I can’t
 quite put my finger on it. Am I using gas wrongly, or do I have the wrong
 assembler?

 Thanks for any help.

 —Rick

 rick42 on #picolisp
 ​


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


Re: Solaris 10 picolisp 64 build

2015-03-03 Thread Jakob Eriksson
At this time, that's true. That said, it's not a herculean effort
apparently, to port it, given that
(correct me Alex or other if I'm wrong)
Solaris uses ELF.
Uses gas (not sure if it matters)
You or the person doing the porting knows Sparc assembler.


But of course not simple to do either...



On 03/03/15 23:27, Rick Hanson wrote:
 All, does this mean that picoLisp64 cannot be built on a Solaris 10 sparc64
 box?  (That's what I have.)  If not, no worries; I can, and will be happy
 to, still use picoLisp32 there.  Thanks!

 On Tue, Mar 3, 2015 at 5:01 PM, Rick Hanson cryptor...@gmail.com wrote:

 down *by* the river.  (I can't even get *that* right.)  Cheers!

 On Tue, Mar 3, 2015 at 5:00 PM, Rick Hanson cryptor...@gmail.com wrote:

 Duh!  That's it!  And it even says x86 in the name!!! (e.g.
 `x86-64.sunOs.tgz`) I hereby turn in any computing creds I've garnered over
 the years to be thrown into burning inferno where they belong, and I'll go
 live in a box down my the river. :)  Thanks!

 On Tue, Mar 3, 2015 at 4:50 PM, Jakob Eriksson ja...@aurorasystems.eu
 wrote:

 You are not by any chance on a Sparc platform?




 On 03/03/15 20:57, Rick Hanson wrote:
 Sorry in advance if you’ve already covered this issue in the past.

 I’m on Solaris 10; I can build the 32-bit picolisp (3.1.9) with no
 problem.
 Then, I go do a (cd src64; make) (which is GNU make btw); this builds
 the
 x86-64.sunOS.base.s file via mkAsm, but it fails in the next step on
 gas
 --64 (which reads the .s file) with a bunch of errors of the form

 Error: Unknown opcode: `$OP'

 where $OP is any one of several opcodes, e.g. adc, addq, clc, ja, jbe,
 jz,
 movb, mul, etc.

 FIrst, I thought that a very old version of gas might be causing the
 issue
 (i.e. maybe it was not able to understand some of the new (?) opcodes;
 yes,
 I was very optimistic :); so I downloaded, built and installed binutils
 (2.24.51) which gave me a new gas. The new gas was of no avail — the
 same
 types of errors occurred.

 So, I then downloaded the .s files for Solaris from here:
 http://software-lab.de/x86-64.sunOs.tgz and unarced them in the
 picoLisp
 directory. As you can imagine, this didn’t work either — the same
 Unknown
 opcode messages were appearing.

 I suspect that I’m making a very fundamental mistake here, but I can’t
 quite put my finger on it. Am I using gas wrongly, or do I have the
 wrong
 assembler?

 Thanks for any help.

 —Rick

 rick42 on #picolisp
 ​

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



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


Re: MySQL native C wrapper

2015-04-26 Thread Jakob Eriksson
Good initiative - the more ways to connect, the better, IMHO.



On 26/04/15 23:00, Henrik Sarvell wrote:
 Hi list, I'm announcing this at a very early stage, earlier than I
 would like to, in case someone else is also thinking about doing a
 MySQL wrapper, to avoid duplicate work.

 I'm not doing this because I think that MySQL is in any way a better
 alternative than the native DB functionality, rather the opposite.

 The main reasoning is that it might help adoption of the language as
 I've come to believe that how the data is stored could be as big a
 hurdle to switch as the language switch itself - for many
 organisations - if they can keep their data as it is (to begin with)
 half the battle might already be won.

 PicoLisp with MySQL is still better than say PHP with MySQL.

 It also helps in migrating from MySQL to the native DB.

 It's all inspired by Alex Williams' nice and instructive use of the
 native stuff here: http://aw.github.io/picolisp//2015/02/22/nanomsg/

 And I couldn't have managed without AB's writeup here:
 http://software-lab.de/doc/native.html

 Without further ado:
 https://bitbucket.org/hsarvell/ext/src/default/mysql.l?at=default

 Note that you can't just run with the file linked to above, you need
 the mysql.so file in the ext/so folder too.

 If no one beats me to it I will do some more work on this one in the
 future and will announce here when there's something to show.

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


Re: New article - Installing local wiki with Kerberos authentication

2015-04-14 Thread Jakob Eriksson
Interesting. Is the server a Windows server or Linux?



On 14/04/15 14:19, Mansur Mamkin wrote:
 Hi all!
 I'm happy to announce a litle article:
 Installing local wiki with Kerberos authentication

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

 Best regards,
 Mansur Mamkin

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


Re: PilMCU is dead - Long live PilOS!

2015-06-19 Thread Jakob Eriksson

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: PicoLisp now detected on GitHub

2015-06-17 Thread Jakob Eriksson
This is great!


On 17/06/15 17:48, Christophe Gragnic wrote:
 Hi list.

 They even spelled it correctly !
 https://github.com/github/linguist/pull/2449#issuecomment-112829159
 See one of your repos or this one:
 https://github.com/Microalg/Microalg

 chri


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


  1   2   >