Re: '(struct ...)' alignment issue

2021-12-07 Thread Alexander Williams

Hi Jason,

Perhaps the PicoLisp documentation needs some updating, but the
functionality of 'native' and 'struct' is as it should be.

You have to understand that PicoLisp is not Ruby or NodeJS. There is no
hand-holding whatsoever. If you ask for X, that's what you get, by design.

As a somewhat long-term PicoLisp developer, I can tell you this is the
approach I want and it's why I stick with this language for most of my
applications. You can perhaps believe the language "should do X" to make
your life easier, but that's just adding assumptions about your specific
use-case, whereas there are plenty of use-cases which don't make the same
assumptions and which will fail when PicoLisp starts making decisions for
you.

That took a while for me to grok, and I did fight with the language on a 
few occasions,

but in the end I believe the author was right
all along. There are plenty of other languages which can do a lot of work
and formatting and massaging of data for you. PicoLisp is _not_ that and I
hope it doesn't become that, because for many of us this is what we need.

Once you come to terms with that, you'll have a much more enjoyable and
productive PicoLisp programming experience.

As a side note, I wrote a short PicoLisp/Rust example to demonstrate how
to interface the two:
  https://github.com/aw/picolisp-rust

As long as I dot my i's and cross my t's, it works perfectly and
everything is as expected.

Cheers,


AW

On Tue, 7 Dec 2021, Jason Vas Dias wrote:


Thanks Alex -

 But I have to respectfully disagree - 'struct' should know
 that if its current offset is 10, and it next needs to layout
 a 4-byte integer, it should insert 2 pad bytes to begin
 the integer at offset 12 - the same as it should know
 in the 'struct tm' case, that if it has just laid out a 4-byte integer
 at offset 32, ending at offset 36, and next needs to layout an 8-byte
 integer, it needs to insert 4 pad bytes to start the 8-byte integer
 at offset 40 .


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


Re: pil21 on RISC-V

2021-02-08 Thread Alexander Williams

Oh awesome!! Thank you for doing this test.

I'm looking forward to trying that on real RISC-V 64-bit hardware.


AW

On Sat, 6 Feb 2021, Mike wrote:


hi all,

pil21 passed all tests inside RISC-V qemu:

$ uname  -a
Linux ubuntu 5.8.0-14-generic #16~20.04.3-Ubuntu SMP Mon Feb 1 16:33:19 UTC 
2021 riscv64 riscv64 riscv64 GNU/Linux
$ pil +
: (version)
212.5
-> (21 2 5)
: *OS
-> "Linux"
: *CPU
-> "riscv64"
: (let L (chop (** 5 (** 4 (** 3 2
 (prinl (head 20 L) "..." (tail 20 L))
 (length L) )
62060698786608744707...92256259918212890625
-> 183231
: (%@ "malloc" 'N 123)
-> 1057627088
: (bye)
$


(mike)

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




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


Re: Licence Dilemma

2020-11-22 Thread Alexander Williams
Tomas, you're allowed to relicense the MIT version of PicoLisp you 
received, as GPLv3, as long as you maintain the MIT license text.



AW

On Sun, 22 Nov 2020, Tomas Hlavaty wrote:


what if i don't want to risk going to court because of this?


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



Re: Licence Dilemma

2020-11-21 Thread Alexander Williams

I don't see what all the confusion is about.

Not a lawyer here, but PicoLisp 21 does **not** need to be GPL'd.

Everyone seems to confuse "linking to a GPL'd library that exists on the 
host computer" VS "linking to a GPL'd library that's included with the 
source code".


Please stop mixing these things.

In PicoLisp's case (pil21), libreadline is only linked to at compile 
time. It is not being distributed with PicoLisp in binary or source form. 
If you don't have libreadline on your system, you can't compile pil21. There is no GPL issue since the 
software itself (pil21) does not **include** GPL'd software. The "linking" 
clause of the license is specifically for software that is distributed with GPL'd 
software linked to it (ex: in binary form, or if libreadline sources were 
included with pil21 sources).


This is not the case, so please let's close this discussion, it's a 
non-issue.


I know it's long, but it's worth a read:

 - https://tldrlegal.com/license/gnu-general-public-license-v3-(gpl-3)
 - https://choosealicense.com/licenses/gpl-3.0/

Finally, it is also possible for PicoLisp to be "dual-licensed" under GPL 
and MIT, allowing the recipients to choose which license applies to them, but that 
solves nothing since MIT is already compatible with GPL. People would 
normally dual-license for commercial reasons, or when the license isn't 
compatible with GPL.


Cheers,


AW

On Sat, 21 Nov 2020, Kevin Ednalino wrote:


I built mruby from AUR and when I do ldd there is no linking to libreadline:

linux-vdso.so.1 (0x7ffe02708000)

libm.so.6 => /usr/lib/libm.so.6 (0x7f6f005cb000)
libc.so.6 => /usr/lib/libc.so.6 (0x7f6f00402000)
/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2
(0x7f6f00804000)



Looking into the sources, the flag "MRB_USE_READLINE" seems to be only set
for the "Intel Edison" platform. It is also capable of using linenoise. So
maybe that makes it possible to be permissively licensed since it can be
proven to run without GPL (ergo it is not a derivative work).

To be pedantic, ldd picolisp:

linux-vdso.so.1 (0x7ffe0b5bc000)

libc.so.6 => /usr/lib/libc.so.6 (0x7fa342e6f000)
libm.so.6 => /usr/lib/libm.so.6 (0x7fa342d29000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x7fa342d23000)
libreadline.so.8 => /usr/lib/libreadline.so.8 (0x7fa342cd1000)
libffi.so.7 => /usr/lib/libffi.so.7 (0x7fa342cc5000)
/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2
(0x7fa3430d7000)
libncursesw.so.6 => /usr/lib/libncursesw.so.6 (0x7fa342c54000)



..and picolisp can't be built/run without libreadline.

On Sat, Nov 21, 2020 at 2:26 PM Mike  wrote:




On Nov 21, 2020, at 15:30, Jeronimo Pellegrini  wrote:

"Mike"  writes:

Hello,

Jeronimo,

mruby is not ruby itself, but also created by Matsumoto

https://github.com/mruby/mruby

I see this is under MIT.


How it was possible ?


But is it distributed with/links to libreadline?


https://www.archlinux.org/packages/community/x86_64/mruby/

This meta info about package links readline as dependency, like pil21 do


(mike)




Announcing: Posix Message Queues with PicoLisp

2020-11-09 Thread Alexander Williams

Hi,

I've published some code for interacting with Posix Message Queues[1] 
directly in PicoLisp (using 'native').


  https://github.com/aw/picolisp-posixmq/

It's a _very_ small library with quite comprehensive documentation[2] 
(WIP).


And for those who aren't aware, there's also a list of all my PicoLisp 
projects available[3].


- [1]: https://man7.org/linux/man-pages/man7/mq_overview.7.html
- [2]: https://github.com/aw/picolisp-posixmq/tree/master/docs
- [3]: https://picolisp.a1w.ca/

Cheers,


AW

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



PicoLisp native FFI with Rust lang

2020-10-29 Thread Alexander Williams

Hi all,

I've been playing around with Rust recently for some low-level code 
projects which I want to interface with PicoLisp, and decided to write a 
small project for others who may be interested in using Rust with 
PicoLisp:


  https://github.com/aw/picolisp-rust

Enjoy,


AW


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



Auto test your code with Pil21 on GitHub

2020-08-27 Thread Alexander Williams

Hi all,

I've updated 'v2' of the "PicoLisp Action" on the GitHub Marketplace.

It now supports building pil21, and thus allows you to automatically test 
your PicoLisp code against the latest pil21, as well as other versions of 
pil32 and pil64.


Have a look here:
  https://github.com/marketplace/actions/picolisp-action

You can see 'All Green' from my initial test runs against 'picolisp-json' 
library:

  https://github.com/aw/picolisp-json/actions/runs/227965177

Although there's still a few things missing in pil21, so far _all_ of my 
existing code works with it, so let's encourage and thank Alexander 
Burger for his hard work.


Cheers,


AW

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



Re: Announcing another project: a Unicorn-inspired PicoLisp daemon

2020-06-29 Thread Alexander Williams
I agree with a lot of this, however I do somewhat oppose the creation of 
yet another new package manager (see IRC chat logs).


Perhaps try to follow the same "rules" for repos:
- readme, changelog, license, makefile, test.l, module.l

That would be a good start to standardize information about PicoLisp 
projects, and would make it trivial to discover what's available, their 
versions, and dependencies through the 'module.l' (which summarizes the 
project and is accessible through a global constant APP_INFO).


There has been some initial work on trying to manage everything through 
the module.l file, but I never got very far, again due to my strong 
opinion on (and against) package managers.


Perhaps someone can write a script to pull all the info from the various 
module.l files and generate a quick HTML page? Maybe I'll do it? haha. In 
any case, it's just a list, so it's quite flexible and open to 
improvements (ex: adding a 'contributors' field, or 'install' instructions 
(I think i've done that somewhere in another project haha)).



AW

On Sat, 20 Jun 2020, Kevin Ednalino wrote:


I've thought about this also. The "batteries included" philosophy (Python a
good example of this or CL's "alexandria" library), would help welcome new
users getting started quickly, which seems more of a bigger factor for
language adoption these days, and reduce duplication of effort. In
addition, I think this would be more effective with PicoLisp since there is
a BDFL, unlike CL which makes it difficult to come to a consensus.

Not to derail the OP, but in the same vein of thought, another critical
element is a "quicklisp" library, which would be a tremendous boon to the
ecosystem. However, all of this becomes more of a factor as the community
grows. This would be a good topic for the upcoming meeting :)

On Thu, Jun 18, 2020 at 11:57 AM  wrote:


Hi aw

Awesome, many thanks.

I will definitely build upon this.
Good if we can re-use and establish some standard picolisp libraries
(beside/in addition to the ones in the distro).
NIH syndrome etc.

Cheers,
beneroth

On 18.06.20 12:27, Alexander Williams wrote:

Hi all,

It's been a busy week, this time i'm announcing another open source
release:

  picolisp-supervisor: https://github.com/aw/picolisp-supervisor/

It's a program I created almost 4 years ago to copy Unicorn[1], but
which was not suitable for public release. I've tweaked it, wrote some
documentation (and comments), and decided to share the code with
others who may be interested.

The source code is published under the MIT license.

PS: Also check out my other project released earlier this week[2] ;)

Cheer,


AW

- [1] https://yhbt.net/unicorn/
- [2] https://github.com/aw/picolisp-kv



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





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


Re: Redis-inspired key/value store in PicoLisp

2020-06-29 Thread Alexander Williams

hah! Well it's not too late to write it, or contribute to this project ;)

In fact, for me this was more of a way to sharpen my UNIX skills.

Thanks for the comment George.


AW

On Tue, 16 Jun 2020, Yiorgos [George] Adamopoulos wrote:


Good job! I have to confess you beat me to it!  I always thought a kv
store would be a cool way to sharpen picolisp skills!

On Tue, Jun 16, 2020 at 12:40 PM Alexander Williams
 wrote:


Hi everyone,

I wanted to build a TCP-based client/server FIFO queue in PicoLisp, and
ended up re-creating a small part of Redis[1].

You can check it out here: https://github.com/aw/picolisp-kv

It's still quite different from Redis behind the scenes, but some
functionality will be familiar to those who've used it.

The source code is published under the MIT license.

Enjoy,


AW


- [1]https://redis.io

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




--
keep raising the bar

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



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



Announcing another project: a Unicorn-inspired PicoLisp daemon

2020-06-18 Thread Alexander Williams

Hi all,

It's been a busy week, this time i'm announcing another open source 
release:


  picolisp-supervisor: https://github.com/aw/picolisp-supervisor/

It's a program I created almost 4 years ago to copy Unicorn[1], but which 
was not suitable for public release. I've tweaked it, wrote some documentation (and comments), 
and decided to share the code with others who may be interested.


The source code is published under the MIT license.

PS: Also check out my other project released earlier this week[2] ;)

Cheer,


AW

- [1] https://yhbt.net/unicorn/
- [2] https://github.com/aw/picolisp-kv

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


Redis-inspired key/value store in PicoLisp

2020-06-16 Thread Alexander Williams

Hi everyone,

I wanted to build a TCP-based client/server FIFO queue in PicoLisp, and 
ended up re-creating a small part of Redis[1].


You can check it out here: https://github.com/aw/picolisp-kv

It's still quite different from Redis behind the scenes, but some 
functionality will be familiar to those who've used it.


The source code is published under the MIT license.

Enjoy,


AW


- [1]https://redis.io

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


Re: pil21 repo

2020-03-01 Thread Alexander Williams

Thanks Mike,

With the help of Mansur, we now have pil21 pushed automatically to 
GitHub as well:


  https://github.com/picolisp/pil21/

Commit messages will have dates, as opposed to version numbers like the 
current PicoLisp.


Looking forward to watching the development.


AW

On Fri, 21 Feb 2020, Mike wrote:


hi all,

repo for pil21 exists, updating hourly.
https://git.envs.net/mpech/pil21

Script beyond repo is simple:
rm -rf pil21.tgz
wget -q http://software-lab.de/pil21.tgz
tar zxf pil21.tgz
cd pil21
git add .
git commit -aqm "." > /dev/null
git push -q


Someday all this must move to github.com/picolisp.
@Mansur will take care.

(mike)

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



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


Re: PicoLisp binaries for Linux 32/64 bit

2020-02-17 Thread Alexander Williams

Hello again,

With the help of 'm_mans', we've made a few changes to the publishing of 
PicoLisp Linux 32/64 bit binaries.


Instead of using GitHub's "artifacts", the binary packages will now 
be automatically published to the "Free for OSS" Bintray.com 
service, see:


  - https://bintray.com/picolisp/picolisp/picolisp#files
  - https://dl.bintray.com/picolisp/picolisp/

Direct downloads are much easier to access through Bintray.

Enjoy!


AW

On Wed, 8 Jan 2020, Alexander Williams wrote:


Hello,

I've added a [1]GitHub Workflow (https://git.io/Jvezm) which automatically 
builds, tests, and packages *every* new version of PicoLisp pushed to the 
repo.


For now the packages are only available as "artifacts" on GitHub, so it's a 
bit difficult to find them:


 1. See the [2]list of commits (https://git.io/Jveuh)
 2. Click the 'green check' next to the commit date
 3. Click 'Details' for the arch you want (src = x86 = 32bit)
 4. At the right of the page, click the arrow under 'Artifacts'
 5. Download and extract the .zip of the package you want

See [3]this page (https://git.io/JvezY) for the latest v20.1.3 build results.

This approach allows you to quickly test a correctly built/installed version 
of PicoLisp without requiring any build dependencies.


To build PicoLisp on your own, please follow tankf33der's [4]build 
instructions.


[1] https://github.com/picolisp/picolisp/blob/dev/.github/workflows/main.yml
[2] https://github.com/picolisp/picolisp/commits/dev
[3] https://github.com/picolisp/picolisp/runs/372383388
[4] 
https://git.envs.net/mpech/tankf33der/src/branch/master/install-picolisp.md



AW



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


PicoLisp binaries for Linux 32/64 bit

2020-01-08 Thread Alexander Williams

Hello,

I've added a [1]GitHub Workflow (https://git.io/Jvezm) which automatically 
builds, tests, and packages *every* new version of PicoLisp pushed to the repo.


For now the packages are only available as "artifacts" on GitHub, so it's 
a bit difficult to find them:


  1. See the [2]list of commits (https://git.io/Jveuh)
  2. Click the 'green check' next to the commit date
  3. Click 'Details' for the arch you want (src = x86 = 32bit)
  4. At the right of the page, click the arrow under 'Artifacts'
  5. Download and extract the .zip of the package you want

See [3]this page (https://git.io/JvezY) for the latest v20.1.3 build 
results.


This approach allows you to quickly test a correctly built/installed 
version of PicoLisp without requiring any build dependencies.


To build PicoLisp on your own, please follow tankf33der's [4]build 
instructions.


[1] https://github.com/picolisp/picolisp/blob/dev/.github/workflows/main.yml
[2] https://github.com/picolisp/picolisp/commits/dev
[3] https://github.com/picolisp/picolisp/runs/372383388
[4] https://git.envs.net/mpech/tankf33der/src/branch/master/install-picolisp.md


AW

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


Re: Proposal: PilCon 2020

2019-12-25 Thread Alexander Williams

Hello and Merry Christmas!

I will be there, 95% attendance, assuming no unexpected crazyness.

I would also like to make a presentation, but I haven't decided on the 
topic yet.


See you all soon,


AW

On Wed, 25 Dec 2019, Alexander Burger wrote:


Hi all,

a merry Christmas to everybody! o/


Since a few weeks we were discussing in the #picolisp IRC channel about holding
a PicoLisp Conference in Langweid / Germany next year.

It would be on July 27th (Mon), 28th (Tue), and - if necessary - 29th. I can get
a room and equipment for about 30 people, in "Kulturbahnhof", the old Langweid
train station building.

With this mail I'd like to find out how many people are actually interested to
participate, and their probabilities of attendance (in percent).

Langweid is by train 15 minutes from Augsburg, or one hour from München central
station. There are some hotels/pensions in Langweid, and more in Augsburg or one
of the villages nearby (reachable by train or bus).

I could make two or three presentations about what I'm working on currently,
anybody else is welcome to do the same, and/or we could make a general PicoLisp
workshop.

One of the oldest PicoLisp customers (since 2002, also the one with the largest
user base) is about 3 km from Langweid, and I have a probable OK that some
interested conference attendees might join to visit them.

Let's discuss further details here in the list, or perhaps in the wiki at
picolisp.com.


I wish peaceful days and a good start into 2020 for all of you!

☺/ A!ex

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


New PicoLisp CI action on GitHub

2019-11-17 Thread Alexander Williams

Hi all,

I've recently published a new "GitHub Action" for PicoLisp, which is 
available here: https://github.com/marketplace/actions/picolisp-action


If you're not familiar with Actions[1], they're essentially little 
utilities you can plug into your repo(s) to automate certain tasks (like 
pre-written recipes for Travis-ci).


This PicoLisp Action automates the download, compile, and install of a 
32/64 bit PicoLisp with any version between 17.12 and the latest rolling 
release. It runs in a Linux VM instead of Docker, so you don't have the 
limitations of a container.


This is mostly for CI/CD use-cases, anyone actively using PicoLisp in 
production or writing code which they want to test on various 
versions/platforms can find some value in automating their tests with 
this.


I use it to automate the unit tests on my JSON library[2], and plan to add it 
to all my repos currently using Travis-ci/Jenkins.

If anyone has other PicoLisp use-cases they'd like to see automated on 
there, let me know and I'll look into adding support for it.


[1] - GitHub Actions - https://github.com/features/actions
[2] - JSON library - https://github.com/aw/picolisp-json


AW

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


Re: Review request for my JSON parsing implementation

2019-05-09 Thread Alexander Williams
If you're just trying to work with the decimal numbers in PicoLisp, then 
why not just use fixed-point?


You can modify my json.l and specify a 20 digit decimal, and then parse 
your file. The result will be strings instead of numbers, but it works fine. Here's a 
patch:



diff --git a/json.l b/json.l
index 551e3a9..a135c39 100644
--- a/json.l
+++ b/json.l
@@ -6,6 +6,8 @@

 (setq *Json_control_characters (extract '((N) (unless (member N '("^H" 
"^L" "^J" "^M" "^I")) N)) (mapcar char (range 1 31


+(scl 20)
+
 # send error message to STDERR
 [de json-err-throw (Error)
   (msg Error)
@@ -112,7 +114,7 @@
   ((= "[" Type) (make (link T) (json-link-array)))
   ((= "{" Type) (make (json-link-object)))
   ((lst? Type)  (pack Type))
-  ((num? Type)  Type)
+  ((num? Type)  (format Type *Scl))
   ((= "-" Type) (if (num? (car *Json)) (format (pack "-" (pop 
'*Json))) (json-iterate-object)))

   ((= 'true Type)   'true)
   ((= 'false Type)  'false)


-- Try that against my latest git commit to 
https://github.com/aw/picolisp-json (tag v4.0.0)



AW

On Wed, 8 May 2019, C K Kashyap wrote:


Perfect - It is pure bliss to see such concise code.
Regards,
Kashyap

On Wed, May 8, 2019 at 6:59 AM Alexander Burger  wrote:


On Wed, May 08, 2019 at 09:17:54AM +0200, Alexander Burger wrote:

Yes, "123.0.0" is not a legal number.

I am sure there must a better way to do the lengthy "0"..."9" that I've
done :)


The best is to avoid at all looping over the characters, because built-ins
are a
lot faster than individual function calls in a loop.

What I would do here is

   (pipe
  (in '("curl" "-s" "
https://api.iextrading.com/1.0/stock/aapl/chart/3m;)
 (while
(prin
   (echo "close" "volume" "unadjustedVolume") )
(when (prin (till "," "}"))
   (or (sub? "." @) (prin ".")) ) ) )
  (readJson) )

The trick is to read the digits with 'till', print them, and *then* check
if a
dot is needed.

☺/ A!ex

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



Re: Making json.l parse floating point

2019-03-30 Thread Alexander Williams
The use of (++ Value) instead of (pop 'Value) may be an improvement, but 
it breaks backward compatibility with older clients since the time you 
implemented (++ Value), so I can't accept that in my libraries just yet.. 
at least not until I'm certain I don't have any applications with older 
PicoLisp clients deployed in the wild.


Thanks.


AW

On Thu, 28 Mar 2019, Alexander Burger wrote:


Hi Kashyap,


I made a tiny change to support floating point (to be used with scaling
that is). I wanted to get it reviewed to confirm if I am not missing
something.

I added a condition to  json-parse-unicode in json.l



If you mean this line


[*(and (= "." (car Value))) (pop 'Value)  (link R '. (pop
'Value)) ]*


I think it is fine, though I have not studied the whole JSon library.

A minor improvement could be to replace all calls like (pop 'Value) with
(++ Value) which is a tiny little bit smaller and faster, but that's only
cosmetics.


But what REALLY nags me is that this code is still around:

 (local MODULE_INFO *Msg err-throw)
 (local json-parse-file json-parse-string json-parse-unicode 
json-count-brackets)
 ...

This is WRONG!! It is a pity that this is still public and being propagated as
an example! Please don't use it!

The correct syntax is:

 (local) (MODULE_INFO *Msg err-throw)
 (local) (json-parse-file json-parse-string json-parse-unicode 
json-count-brackets)
 ...

'local' takes NO arguments. It must read the symbols from the input stream.
Otherwise the symbols ARE already read when 'local' runs and will possibly
be found in the wrong namespace.

☺/ A!ex

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


Re: Making json.l parse floating point

2019-03-30 Thread Alexander Williams

Hi,

I appreciate the desire to improve my code, but please open issues or make 
pull requests to me on GitHub, because I don't follow the PicoLisp mailing 
list closely: https://github.com/aw/picolisp-json


Thanks,


AW

On Wed, 27 Mar 2019, C K Kashyap wrote:


Hi,
I am trying to write a script to parse data from IEX (
https://iextrading.com/developer/docs/) - naturally, the stock quotes are
in floating point numbers.

I made a tiny change to support floating point (to be used with scaling
that is). I wanted to get it reviewed to confirm if I am not missing
something.

I added a condition to  json-parse-unicode in json.l


[de json-parse-unicode (Value)

 (pack

   (make

 (while Value

   (let R (pop 'Value)

 (cond

   [(= "\^" R) (link "\\\^") ] # ^ becomes \^

   [(and (= "\\" R) (= "u" (car Value))) (let U (cut 5 'Value)
(link (json-parse-unicode-special (pack (tail 4 U) ] # \u hex

   [(and (= "\\" R) (= "b" (car Value))) (pop 'Value) (link (char
(hex "08") ] # \b backspace

   [(and (= "\\" R) (= "f" (car Value))) (pop 'Value) (link (char
(hex "0C") ] # \f formfeed

   [*(and (= "." (car Value))) (pop 'Value)  (link R '. (pop
'Value)) ]*

   (T (link R)) ]



Regards,

Kashyap



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


Re: SDL2 and OpenGL 3.0+ on Picolisp 64bit (Linux)

2019-03-15 Thread Alexander Williams

Wow this is AMAZING!!!

I haven't tested it yet, but I looked at the source files and it is 
**very** clean code, well-documented, descriptive comments, screenshots, 
etc. This is by far the most impressive PicoLisp project I've ever seen. 
You clearly put a lot of effort into this, thank you!


I will try it this weekend on arm64 and let you know how it runs.

Great job!


AW

On Fri, 15 Mar 2019, alfonso.vil...@gmail.com wrote:


Hello,

I want to share with you my progresses on the following Bitbucket
repository:

https://bitbucket.org/alfonsovillen/picolispffi/src/master/

I would be thankful if someone could take some time to try the demos
and tell me whether they run well.

Best regards,
Alfonso Villén


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


[Job posting] PicoLisp and wev dev (remote, part-time)

2019-01-21 Thread Alexander Williams

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

Hi all,

My company has a few small PicoLisp projects which require some help 
to continue/develop.


I'm looking for someone who is available for remote part-time project 
based PicoLisp and web development (HTML/JS). It is mostly backend 
PicoLisp work (server-side, I/O, web APIs, scripting..).


Requirements:

- - pil code available for review (public or private)
- - frontend html/js code examples
- - familiarity with Linux and Git
- - clear self-documenting coding style
- - familiarity with some open source libraries: https://picolisp.a1w.ca
- - knowledge of virtualization/container/cloud (QEMU, Docker, k8s, AWS, GCP)
- - registered business/tax number or self-employed business number 
(freelancers)
- - availability: February 2019 to April 2019

We're looking at maybe 40 hours total of work for the next three months, 
and there is room for more afterwards.


If you're available, experienced, and interested, please email: 
contact...@unscramble.co.jp - and provide code samples, experience, 
timezone, and hourly rate.


Cheers,


AW
-BEGIN PGP SIGNATURE-

iQJKBAEBCgA0FiEErGbHg+cAXPE6k8IMnYOyHPs2VdkFAlxFim4WHGFsZXhAdW5z
Y3JhbWJsZS5jby5qcAAKCRCdg7Ic+zZV2aR6D/9jeBOit8o3Ngqt7Q7TqT7zFaKu
2qrUwmEXRFmc+tN7vXFT/fBrxpPGGeLqJHhHAIQG9BTLtcjjWzUGoliDnr6PQkuJ
HulkDxsgU6Z/JVb1H0T+odMY1cjs/yOXEEqjukZcq14gBua00vFAPbn083ly08l+
FvHzRGMKRcgVS+ncG3or1YqGC0fqPbnUkzU+gdTLEXsLkqCXpN7WJJ/u/nHmWQhu
nVdwkaJKnMDV7QO9PinE6A7/gOVZpaiDJcH6ZJ8tEeJ6QNVldj2eaVU0bDGiwYeP
Vfq3U3LKrMJ/qFnFLy97XWPJrBBingcjz95z/QQEpsnziuobBBxjcGaNZuCALorF
jkwriRa/Nb+EdzNRieVB5GOZMfHKnknpHKOWHfPWgkoCbZMb8re+Ib+oHGRuaUzA
j0Jgx2FJvEJillYYZgZjOmJ4ipnfBWaCj7Vfu6/jUjejNlO3uvSL58TTt/xOynqK
ZyWhTh97FTzg05qVBrxJrWUOrrN/Xg4Tr6b+D1qejmkoFx7d32ED9xwbq/32wFY7
qTC7KDE8C6H/ivUFLxDowM380hUQHnQrNheKi4/wYVu5gsVPE5qAzSFJvkZ2x5nF
zPIzsf9kzVToNUF6HGyuoSyQX+WX03oBiDWRHqoODT8tNFwEVuF0A5hM9FnqMSYx
8GnNUB8ZFuOssZuFRg==
=ctvO
-END PGP SIGNATURE-

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


Subscribe

2019-01-20 Thread Alexander Williams

Hello Alexander Williams  :-)
You are now subscribed



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


Unsubscribe

2018-07-08 Thread Alexander Williams

Good bye Alexander Williams  :-(
You are now unsubscribed


Unsubscribe

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


Re: Wiki - asking for last calls on fonts etc.

2018-06-24 Thread Alexander Williams
Hello,

I haven't been following the recent website changes, but right now it
seems the picolisp.com website is much worse than it used to be. A
regression.

A few issues I noted:

 - text is too small. Please use browser relative sizes in "em" and "%"
instead of "px".

 - don't put code samples in "bold". This is very hard to read.

 - don't use italics for headers and section headers.

 - code samples background colour fights with text. bg should be much
lighter.

 - don't use black #000 for text, but something a bit lighter like #222
or #333.

 - don't limit the page to use 60% of the browser window, it's a waste
of real-estate (too much whitespace on left/right). That technique
should be reserved for blogs/articles.

I'm not a designer, but I think the above is common sense.

Cheers,


AW



signature.asc
Description: OpenPGP digital signature


AWS (Amazon) cli tool in PicoLisp

2018-06-18 Thread Alexander Williams

Hi all,

I've published a tool I wrote for working with the AWS (Amazon) API:

  https://github.com/aw/picolisp-awscurl

It handles signing V4 requests and making the request with curl/openssl. 
Also, no external deps unlike the existing AWS SDKs.


The code, as usual, is MIT licensed.

Still alpha, so please let me know if there's any issues.

Cheers,


AW

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


Re: picolisp at last ?

2018-06-16 Thread Alexander Williams

JC: wasn't your goal to use PicoLisp 64-bit? ;)

I'm actually using a ROCK64 (arm64) daily, and of course run PicoLisp 
64-bit on here. In terms of specs, it's **much** better than RPi3, but 
support is...


I also have an RPi2, and can power it from the MacBook but there's always 
a spinning rainbow in the top left corner of the display (low power). If 
you're not connecting external USB disks, it should be fine.



AW

On Fri, 15 Jun 2018, Jean-Christophe Helary wrote:




On Jun 14, 2018, at 22:55, Jean-Christophe Helary  wrote:


On Jun 14, 2018, at 22:15, O.Hamann mailto:o.ham...@gmx.net>> wrote:

I'm no really sure at the moment about 64bit picolisp,

but for 32bit  I  did that several years ago.


Now that I think about it, I do have an old 32bit RP that's gathering dust. 
It's probably a RP 1 so it runs on ARM 6 and...
The appropriate version of Raspian does have picolisp :)


Ok, after dusting off the unit and installing the latest raspbian, I managed to 
install picolisp, but not the most recent version, for that I need to 
reconfigure the keymap so that I can type properly with that usb Japanese 
keyboard :) Once I get the most recent repositories referenced, I'll have 1.7.. 
Then configure ssh and I'll be able to run the thing directly connected to the 
router. Pretty exciting :) I'm even wondering if I can't power the thing 
directly from the MacBookPro's usb port...


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





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


Re: picolisp at last ?

2018-06-06 Thread Alexander Williams
+1 TinyCore,

I use it for most of my work and testing Linux applications.

I'm also the "maintainer" of PicoLisp on TinyCore (64-bit only), so you
can install it (v17.12) with:

  tce-load -wi picolisp picolisp-lib picolisp-doc


AW

On 06/06/2018 05:01 PM, think live wrote:
> TinyCore is a nice little virtual environment I have used to sandbox
> picolisp projects. I use it with virtual box and run them headless.
> Easy to mount external filesystems, ssh in, etc.



signature.asc
Description: OpenPGP digital signature


Re: GitHub sold out to Microsoft

2018-06-06 Thread Alexander Williams
I agree with Alexander Sharihin. The only/best option is self-hosted.
"Other platforms" is just moving "the problem" from X to Y.

I've also got a custom diy repo cloning tool, which generates a nice
HTML page. It didn't take long to write (in PicoLisp, of course), so
perhaps it's a good way for others to exercise their pil-coding-muscles ;)


AW

On 06/05/2018 08:03 AM, Alexander Sharihin wrote:
> Hello!
> 
> GitLab works on Microsoft's Azure Cloud.
> 
> As I know picolisp developed without using github nor gitlab.
> 
> If you care about freedom use only self-hosted solutions(I'm using just a
> ssh-server and user named git with simple diy repo creating tool).
> 
> 2018-06-05 9:52 GMT+03:00 pd :
> 
>> Best alternative probably is gitlab which is free and git based
>>
>> Anyway there's no reason to change right now because github already was
>> non-free and closed so there's nothing new with MS, just a closed company
>> swapping. If github was good before it could be good now Just sit down to
>> see what MS is planning
>>
>> El Mar 05/06/2018, 8:45, Nehal  escribió:
>>
>>> Dear PicoLisp programmers,
>>>
>>> Just see attached news of GitHub been sold out to Microsoft. Being former
>>> FSF licensing intern I strongly believe we now need to look forward to
>>> another free code hosting platform in order to keep our projects,
>>> especially PicoLisp source files free and open Source in its true spirit
>>> and not be under umbrella of proprietary firms that are not true to spirit
>>> of FOSS.
>>>
>>> There is an urgent need to ponder on this and take a strong decision to
>>> move stuff from GitHub altogether. Mercurial (https://en.m.wikipedia.org/
>>> wiki/Mercurial), GNU Savannah (https://en.m.wikipedia.org/
>>> wiki/GNU_Savannah) may be other alternatives!
>>>
>>> Regards,
>>> Nehal
>>>
>>> सा विद्या या विमुक्तये
>>>
>>
> 



signature.asc
Description: OpenPGP digital signature


Re: Wiki progress ...

2018-05-31 Thread Alexander Williams
Arie,

You should probably search for PicoLisp docs on the PicoLisp wiki before
searching Google. There's already tons of links to my docs:

  https://picolisp.com/wiki/?documentation
  "PicoLisp Libraries - several PicoLisp libraries: unit..."

  https://picolisp.com/wiki/?interfacing
  "For extensive examples of 'native' libraries, have a look at..."

  https://picolisp.com/wiki/?web
  "These libraries should help you spin up any sort of application..."

and now:

  https://picolisp.com/wiki/?PCE

My point is, there's too much duplicate content all over the docs! And
you are adding more fuel to the fire. I have no problem with you wanting
to improve the documentation, but please be aware that you're just
adding to the confusion with this page.


AW

On 05/31/2018 11:44 AM, Arie van Wingerden wrote:
> for now I added a link to your (very nice) stuff.



signature.asc
Description: OpenPGP digital signature


Re: Wiki progress ...

2018-05-30 Thread Alexander Williams
I'm also not sure why there's a link to Alexander Burger's twitter, the
t-shirt, and "Hire a guru" on that page. What does that even have to do
with "Documentation" and "Examples" ?

Perhaps I can suggest moving those links to the home page, and moving
all external "documentation" links to that page (i.e: removing the
"Other resources" and "Repositories" from the Documentation page)... in
any case, the docs are quite confusing now with this additional section,
so I think it would be nice to have things a bit more organized.

Cheers,


AW

On 05/27/2018 03:03 PM, Arie van Wingerden wrote:
> Hi all,
> 
> started to put all PLEAC examples in the Wiki, inorder to preserve the
> material in case PLEAC vanishes sometime, because it is not updated often
> anymore. You could say that is was substituted in some way by the famous
> "Rosetta Code".
> 
> Since this it quite a bit of work, I started with the first part and
> already put a chuck online.
> 
> Everything will be linked from this page:
>https://picolisp.com/wiki/?PCE
> 
> As you can see I did a few things different than on PLEAC:
> 1. added clickable links to involved reference docs
> 2. checked if every example still works in latest PicoLisp version
> 
> Please correct me if I made mistakes :)
> 
> Best
>Arie
> 



signature.asc
Description: OpenPGP digital signature


Re: Wiki progress ...

2018-05-30 Thread Alexander Williams
Hi Arie,

I'm just curious, how is this (PLEAC) different from the "Other
resources" section of the Documentation page?

  https://picolisp.com/wiki/?Documentation

It seems there's a lot of duplicate links. Also there is missing my
"EXPLAIN.md" documents, ex:

  https://picolisp.a1w.ca/2015/02/22/nanomsg/

... but those documents are already linked from the Documentation.


AW

On 05/27/2018 03:03 PM, Arie van Wingerden wrote:
> Hi all,
> 
> started to put all PLEAC examples in the Wiki, inorder to preserve the
> material in case PLEAC vanishes sometime, because it is not updated often
> anymore. You could say that is was substituted in some way by the famous
> "Rosetta Code".
> 
> Since this it quite a bit of work, I started with the first part and
> already put a chuck online.
> 
> Everything will be linked from this page:
>https://picolisp.com/wiki/?PCE
> 
> As you can see I did a few things different than on PLEAC:
> 1. added clickable links to involved reference docs
> 2. checked if every example still works in latest PicoLisp version
> 
> Please correct me if I made mistakes :)
> 
> Best
>Arie
> 



signature.asc
Description: OpenPGP digital signature


Re: JSON lib rewritten in pure PicoLisp - no C/ffi bindings

2018-01-11 Thread Alexander Williams
By popular demand, I've published a **new** EXPLAIN document regarding
this JSON library.

Feel free to read:
https://github.com/aw/picolisp-json/blob/master/EXPLAIN_v3.md


AW

On 01/10/2018 05:19 AM, r...@tamos.net wrote:
> Thanks, aw!  Your EXPLAINs are something I always look forward to
> reading, and this one did not disappoint. I also like your style of
> coding. As an aside, I smiled when you mentioned PAIP. I love this book
> too!  All the best, —Rick
> 

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


Re: JSON lib rewritten in pure PicoLisp - no C/ffi bindings

2018-01-10 Thread Alexander Williams
*fistbump*

On 01/10/2018 05:19 AM, r...@tamos.net wrote:
> Thanks, aw!  Your EXPLAINs are something I always look forward to
> reading, and this one did not disappoint. I also like your style of
> coding. As an aside, I smiled when you mentioned PAIP. I love this book
> too!  All the best, —Rick
> 

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


Re: JSON lib rewritten in pure PicoLisp - no C/ffi bindings

2018-01-09 Thread Alexander Williams
I discovered a bug in v3.0 of the parser, so I took that opportunity to
add more tests; as well as refactor, simplify, and optimize the code
(and fix the bug).

Latest version can be obtained here:

  https://github.com/aw/picolisp-json/blob/master/json.l

Thanks!


AW

On 01/08/2018 10:18 AM, Alexander Williams wrote:
> Hi everyone,
> 
> I've published a significant change to my picolisp-json[1] library. The
> decoder, now at version 3.0, has been completely rewritten to avoid the
> use of a C/ffi library.
> 
> This means it also works on 32-bit systems.
> 
> I've added ~30 unit tests[2] to validate various edge cases, and the
> library now conforms to the "ECMA-404 The JSON Data Interchange
> Standard"[3] (except for floating point/scientific numbers).
> 
> It shouldn't introduce any breaking changes, but validations on
> improperly formatted JSON strings will now output a message to STDERR,
> while still returning NIL as before.
> 
> The code isn't super optimized yet, but so far "it seems to work" ;)
> 
> Feel free to ask me any questions, or submit issues[4] / pull requests
> if you want to contribute.
> 
> [1]: https://github.com/aw/picolisp-json library
> [2]: https://travis-ci.org/aw/picolisp-json/jobs/326289902
> [3]:
> http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf
> [4]: https://github.com/aw/picolisp-json/issues/new
> 
> Cheers,
> 
> AW
> 

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


JSON lib rewritten in pure PicoLisp - no C/ffi bindings

2018-01-08 Thread Alexander Williams
Hi everyone,

I've published a significant change to my picolisp-json[1] library. The
decoder, now at version 3.0, has been completely rewritten to avoid the
use of a C/ffi library.

This means it also works on 32-bit systems.

I've added ~30 unit tests[2] to validate various edge cases, and the
library now conforms to the "ECMA-404 The JSON Data Interchange
Standard"[3] (except for floating point/scientific numbers).

It shouldn't introduce any breaking changes, but validations on
improperly formatted JSON strings will now output a message to STDERR,
while still returning NIL as before.

The code isn't super optimized yet, but so far "it seems to work" ;)

Feel free to ask me any questions, or submit issues[4] / pull requests
if you want to contribute.

[1]: https://github.com/aw/picolisp-json library
[2]: https://travis-ci.org/aw/picolisp-json/jobs/326289902
[3]:
http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf
[4]: https://github.com/aw/picolisp-json/issues/new

Cheers,

AW

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


Re: PicoLisp on Linux / Arm64

2017-11-23 Thread Alexander Williams

Hi,

I'm writing to confirm I was able to successfully compile PicoLisp 
17.11.19 on an arm64 Linux machine (ROCK64).


I had a few issues compiling the 32-bit version (remove M32=-m32, and 
add -fPIC to CFLAGS) - it compiled successfully but output quite a few 
compile warnings:


  https://gist.github.com/anonymous/ee42707c5cd448e4c6acc6ead52601aa

The 64-bit compiled just fine (obviously), bootstrapped with the 
supplied arm64 .s files.



AW

On 17-10-28 11:28 AM, Alexander Burger wrote:

now the port of PicoLisp to Linux on Arm64 is ready for testing!


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


Re: Two questions regarding 'native'

2017-10-24 Thread Alexander Williams

This looks pretty good.

If it helps, I've written a few 'native' tutorials, at 
https://picolisp.a1w.ca


+1 for choosing a liberal license as well (CC0).


AW

On 17-10-24 11:06 AM, Alfonso Villén wrote:


I've created a public Bitbucket repository with my work so far,
including some examples.
https://bitbucket.org/alfonsovillen/picolispffi


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


Re: Update your topics (GitHub)

2017-09-26 Thread Alexander Williams
Sure, see json.l here: 
https://github.com/aw/picolisp-json/search?l=Common+Lisp



AW

On 17-09-26 7:31 PM, Christophe Gragnic wrote:

On Tue, Sep 26, 2017 at 7:28 AM, Alexander Williams
<a...@unscramble.co.jp> wrote:

Hi all,


Hi everyone,


GitHub provides the ability to search by language as well, but their
algorithm doesn't always correctly identify PicoLisp code - probably due to
incorrect coding style (*cough* like mine *cough*). Topics however, are
user-generated.


Mine is correctly detected. Coding style should be irrelevant since
'linguist' knows very little about PicoLisp:
https://github.com/github/linguist/blob/master/lib/linguist/languages.yml#L3354
Could you provide us with links to your repos?

For those interested in history:
https://github.com/github/linguist/pull/1827
https://github.com/github/linguist/pull/1837
https://github.com/github/linguist/pull/1838
https://github.com/github/linguist/pull/2449


chri



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


Update your topics (GitHub)

2017-09-25 Thread Alexander Williams

Hi all,

For anyone using GitHub to store their PicoLisp code/projects, can you 
please add the 'picolisp' topic (label) to the repository?


It's a GitHub feature which makes it easy to find other projects with 
the same topic(s).


Example: https://github.com/search?q=topic%3Apicolisp=Repositories

GitHub provides the ability to search by language as well, but their 
algorithm doesn't always correctly identify PicoLisp code - probably due 
to incorrect coding style (*cough* like mine *cough*). Topics however, 
are user-generated.


More about topics: https://help.github.com/articles/about-topics/

Thanks!


AW

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


Re: Announce: PilBox - Building Android Apps in PicoLisp

2017-09-22 Thread Alexander Williams

I also vote +1 for submitting to f-droid.

Whoever takes care of the git repo, please **do not** include the arm64 
binaries as part of the repo, otherwise over time it will grow quite 
large (versioning) and become impossible to clone.



AW

On 17-09-21 11:02 AM, Alexander Burger wrote:

On Thu, Sep 21, 2017 at 12:43:02PM +0200, Richard Z wrote:

assuming it is OpenSource, how about submitting to f-droid.org?


This would be a good thing. F-Droid requires a git repo, perhaps of our
maintainers likes to take care of it? It would follow the same principles as we
have with the PicoLisp releases, i.e. importing the rolling release from
https://software-lab.de/PilBox.tgz

♪♫ Alex



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


Re: Announce: PilBox - Building Android Apps in PicoLisp

2017-09-20 Thread Alexander Williams
I'm running LineageOS 14.1 (Android 7.1) and successfully installed 
PilBox and the demo "calc.zip".


As Olaf mentioned, PilBox does not appear in the "Share" menu, and i'm 
not sure why.


However when I download the file from https://software-lab.de/calc.zip 
(Firefox), I get a notification from "Download Manager". When I press 
the notification, PilBox appears and calc.zip gets installed.


Also note, I had to "force stop" PilBox for the calculator to appear, 
otherwise I get "Not Found" page (404?).


Hope this helps.


AW

On 17-09-20 8:22 AM, O.Hamann wrote:

Hello,

short update:

on dtek50/Android 6.01 Pilbox works as expected, I think (though I did
not go through all demo buttons).

Don't know, why this did not work yesterday, possibly a system update
was interfering while trying Pilbox. I did not change anything, just
after restart of the mobile, the Pilbox worked as expected.

On sm-t719/android 7.0 I see no chance to share (german ui: 'senden')
the zip file to Pilbox because Pilbox is not listed in the 'shares'
(german ui: 'Freigabe') dialog box, as other Apps like Termux,
TotalCommander and others do.

Hopefully other users may report successfull runs of Pilbox on Android7.

Or is it possible, that the Android way of handling files differs from
former releases to version 7 ?

By the way, nice hint of Pilbox when running on SM-T705/Android 5.0.2 :-)
(which is armv7, while armv8 is required by the App)


Back to the working Pilbox App:

it is - like always when dealing with picolisp -  again amazing how to
build functional screens with such few lines of code, as shown in the .l
files of demo.zip.

Thank you again, Alex, for continously bringing picolisp into new areas
of use.


Greetings, Olaf





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


Re: PilMCU status

2017-04-13 Thread Alexander Williams
Geo, definitely if you have spare time between job searching, I want to try
it :D

I live in Kamakura (near the beach) and have a couple iCE40 8K dev FPGA
boards (
http://www.latticesemi.com/en/Products/DevelopmentBoardsAndKits/iCE40HX8KBreakoutBoard.aspx)
if you want to borrow one to test.

It also has a fully open source synthesis toolchain (reverse engineered
bitstream) - http://www.clifford.at/icestorm/ - which is great compared
with Xilinx/Altera licensing.

In any case, your board is really great work and definitely has a lot of
potential.

You can email me here:


http://www.google.com/recaptcha/mailhide/d?k=01yPoiXxXt6Yjq7D9aF2oJJg===W3CYLO5kNNqFW-xuPJfEMSowC6hKyD1vQZgSGtvw3mU=

Thanks,


AW


Re: PilMCU status

2017-04-13 Thread Alexander Williams
Hi Geo,

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

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

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

Cheers,


AW

> On Apr 12, 2017, at 5:45 PM, George Orais  wrote:
> >
> > Hi List!
> >
> >
> > At last here is the link for the demo video of PilMCU in action!
> >
> > https://youtu.be/mMgIvITAMBc
> >
> > I hope you will enjoy the show :)
> >
> > Again, my special thanks to Alex for his great idea and support on this
> project.
> >
> > Let's see how it goes and will keep you all posted.
> >
> >
> > BR,
> > Geo
> > --
> > UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
>


PilMCU status

2017-04-02 Thread Alexander Williams
Hello Geo/Alexander,

I discussed this briefly in the chat, but I would like to know the current
status of PilMCU (initial announcement here:
http://www.mail-archive.com/picolisp@software-lab.de/msg04823.html).

It appears some work was released by Alexander within PilOS, and is being
ported back to PilMCU.

In any case, I think this project is very interesting and I would love to
get involved with it.

Geo: Have you chosen an FPGA? Is it "affordable"? Assuming you've gotten it
running on actual hardware, I would be more than willing to pay for a
simple devkit in order to hack on this.

Thanks,


AW


A small SemVer library for PicoLisp

2017-03-03 Thread Alexander Williams

Hi all,

I've recently published a small Semantic Versioning library which helps 
for validating, sorting, and comparing version strings which somewhat 
adhere to Semver.org (2.0.0).


https://github.com/aw/picolisp-semver

The code in semver.l actually contains two full implementations 
(semver-compare) and (semver-compare-slow), which uses Perl's <=> 
spaceship operator.


As usual, it includes full unit tests and is liberally licensed (MIT).

I plan to add a (satisfies) function to check if a version is within a 
given range (ex: >= 1.2.0, < 2.0.0), but anyone is free to give it a try.


Cheers,


Alex Williams

https://aw.github.io/picolisp

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


Subscribe

2017-03-02 Thread Alexander Williams

Hello Alexander Williams <a...@unscramble.co.jp> :-)
You are now subscribed



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


Re: Compiling for containers

2016-12-12 Thread Alexander Williams
Hi David,

For the stubs-32.h thing.. typically on Debian you would need libc6-i386,
but that isn't available for 64-bit TinyCore.

For Alpine Linux, you should know that it uses musl not libc, so the
PicoLisp binary will NOT run on TinyCore if you build it on Alpine (unless
you have musl.so on Debian..ugh?). To compile/link on Alpine with musl,
similarly to TinyCore, you'll need to use the 64-bit OS (it exists) for the
64-bit binary, and the 32-bit OS for the 32-bit binary.

Anyways for musl (Alpine Linux), just add '-nopie' option to the build
options in src64/Makefile, ex:

LD-MAIN = -Wl,--no-as-needed -rdynamic -lc -lm -ldl -nopie

That's literally all I changed to compile picoLisp 64-bit on Alpine Linux
64-bit. Probably the same option for 32-bit.. let me know ;)

Good luck!


AW
*https://aw.github.io/picolisp *


On Sun, Dec 11, 2016 at 5:41 PM, David Bloom  wrote:

> Hello list.  I should have come here sooner looking for someone with more
> C compiling experience than I have.  I used to compile picoLisp in a
> Tinycore linux container with ease following these steps:
>
> - tce-load compiletc  (this adds gcc, make, etc. so we can compile)
> - copy picolisp source tarball into container
> - compile PicoLisp
> - remove build files
> - tce-audit builddb
> - tce-audit delete compiletc
>
> A Dockerfile would then copy in the pre-compiled picolisp, add appropriate
> links for global installation resulting in a tidy, small image.
>
> For some time now, following the same process I get this:
>
> /tmp/picoLisp/src $ cd ../src64/
> /tmp/picoLisp/src64 $ make
> ./mkAsm x86-64 ".linux" .s Linux base "" ../lib/map  version.l glob.l
> main.l gc.l apply.l flow.l sym.l subr.l big.l io.l db.l net.l err.l
> sys/x86-64.linux.code.l
> ../ersatz/pil: exec: line 5: java: not found
> Makefile:159: recipe for target 'x86-64.linux.base.s' failed
> make: *** [x86-64.linux.base.s] Error 2
>
> And this
>
> /tmp $ cd picoLisp/src
> /tmp/picoLisp/src $ make
> gcc -c -O2 -pipe -falign-functions=32 -fomit-frame-pointer
> -fno-strict-aliasing -W -Wimplicit -Wreturn-type -Wunused -Wformat
> -Wuninitialized -Wstrict-prototypes -D_GNU_SOURCE  -D_FILE_OFFS
> ET_BITS=64 -m32 -D_OS='"Linux"' main.c
> In file included from /usr/include/features.h:389:0,
> from /usr/include/stdio.h:27,
> from pico.h:5,
> from main.c:5:
> /usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file
> or directory
> compilation terminated.
> Makefile:129: recipe for target 'main.o' failed
> make: *** [main.o] Error 1
> /tmp/picoLisp/src $
>
> A cursory search led to missing 32-bit libraries in the 64-bit Tinycore
> image.  No big deal, what if I tried in a Alpine linux container (only
> 32-bit but small and gaining popularity) similarly:
>
> https://jpst.it/QgPQ (Using a paste service due to verbose output)
>
> picolisp compiles easily on Netrunner (based on Manjaro based on Arch)
> which I'm typing this from.  Any C gurus that can make more sense of this
> is greatly appreciated.  Thanks for reading my short novel and any pointers.
>
> -David
>


Re: Redesigned Wiki is Live

2016-05-06 Thread Alexander Williams
Hmmm... I don't know???

On Fri, May 6, 2016 at 7:53 AM, Alexander Burger 
wrote:

> Hi Alexander,
>
> > Can you add my PicoLisp libraries page to the
> > http://picolisp.com/wiki/?Documentation page as well?
> > http://aw.github.io/picolisp/
>
> Should be no problem, but what stops you from just doing it?
>
> ♪♫ Alex
> --
> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
>


Re: Redesigned Wiki is Live

2016-05-05 Thread Alexander Williams
Hi Erik,

The website looks great! (sorry, slow response).

Can you add my PicoLisp libraries page to the
http://picolisp.com/wiki/?Documentation page as well?
http://aw.github.io/picolisp/

Thanks!


AW

On Thu, Mar 24, 2016 at 3:34 PM, Erik Gustafson 
wrote:

> Hi List,
>
> I'm very excited to announce that the redesigned PicoLisp
> wiki is now running on the server! Have a look:
>
>http://picolisp.com
>
> In my (slightly biased) opinion, PicoLisp has one of the
> coolest programming language websites out there now. It's
> sleek and modern and should be very accessible from any
> device. Changes to the code base were minimal (mostly
> CSS), so it still works great with text-based browsers
> as well.
>
> But don't let the new paint job fool you. The wiki has
> much more to offer! I spent a lot of time going through
> the mail archives, finding the most helpful threads and
> turning them into new articles. I've tried to organize
> the documentation to be most helpful to newcomers, to
> set them on a clear path from beginner to lisp wizard.
>
> I'd love any feedback. How's the design feel? The copy?
> I tried my best to incorporate all the feedback I got
> from the initial homepage mockup I posted a few months
> ago.
>
> Note that there are still some rough spots in some of
> the articles/pages. I plan to fill that out in the
> coming weeks and continue to refine the content,
> hopefully with your help! As such, please hold off on
> posting to Reddit, HN, etc. for a bit. And if there is
> anything that seems to be missing, or you'd like to find
> a spot for something you've been working, let me know.
>
> So thanks to all of you for the great discussion over
> the years! It's been a lot fun and I've learned a ton.
> Finally, many thanks to Alex, not only for helping me
> better understand the wiki and put it back together,
> but for PicoLisp in general.
>
> Cheers y'all,
> Erik
>


Re: a floating point math library for 64 bit PicoLisp

2016-01-24 Thread Alexander Williams
Hi Greg,

This is quite impressive, particularly for a first time Lisper. Great job!

I haven't tested it, but the code looks good. Thanks for the contribution.


AW
*https://aw.github.io/picolisp *



On Sun, Jan 24, 2016 at 8:33 AM, Greg Lee  wrote:

> Hello everyone.
>
> I recently discovered PicoLisp, and like a few other newcomers, I was
> initially disappointed to find that there was no support for floating point
> arithmetic. After reading the excellent documentation, I came to understand
> why that is so and also why fixed point arithmetic provides a fully
> acceptable alternative.
>
> As I found out more and more about PicoLisp and what it can do, I was
> constantly amazed at its versatility and usability. When I found out about
> the PicoLisp capability to interface with C through the "native" and "gcc"
> functions, I decided to write a library to implement floating point
> arithmetic for PicoLisp "just because".
>
> Although this was my first interaction with PicoLisp (or any other Lisp,
> for that matter), I found the process remarkably easy. The result of my
> project is the picolisp-fp library for 64 bit PicoLisp, available at
> https://github.com/gleetbone/picolisp-fp.
>
> In the IEEE-754 floating point standard as implemented in C and other
> languages, floating point values are represented as 32 or 64 bit words.
> Certain bit fields in these words are interpreted as the sign, the
> exponent, and the mantissa. However, in computer memory, each floating
> point value is simply a 32 or 64 bit machine word. The picolisp-fp library
> uses PicoLisp integers to hold floating point words, and passes them to
> external C functions to be "interpreted" and acted upon as floating point
> values. Floating point results are passed back to PicoLisp "re-interpreted"
> as integers. No change to PicoLisp is required - the picolisp-fp functions,
> through calls to the "gcc" or "native" function, take integers as arguments
> and return integers. The library provides basic math for single and double
> precision floating point values as well as all of the trigonometric and
> transcendental functions from the C  header file, along with
> functions that translate between single precision values, double precision
> values, fixed point values, and their string representations.
>
> The library is provided in two forms - an inline version that uses the
> "gcc" function, and a separately compiled version that consists of both an
> external shared library (compiled from a C file) and a PicoLisp file that
> uses the "native" function to access the dynamic library. The GitHub
> repository also contains examples and unit tests. Although I have only run
> the library on x86_64 Linux, I see no reason why it shouldn't also work
> with other 64 bit CPUs and operating systems.
>
> Of course, this library is the solution to a nonexistent problem, but I
> think it is possible that someone might find it useful in some special
> cases. And at least it provides the means to shut up newbies like me who
> demand floating point support!
>
> Thanks,
>
> Greg Lee
>
> --
> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subjectUnsubscribe
>


Re: Trying to build pil64 on Raspberry Pi

2016-01-05 Thread Alexander Williams
Hi Jon,

The RPi zero has armv6 architecture, which is 32-bit - so there's no way to
run the 64-bit PicoLisp.

Here's a patch and instructions to compile the 32-bit picolisp on ARM:

  https://gist.github.com/aw/714d1840bbabb782ecb2


AW

On Tue, Jan 5, 2016 at 8:20 AM, Jon Kleiser  wrote:

> Hi,
>
> Just before Xmas I got the brand new Raspberry Pi Zero, a tiny computer on
> a tiny card, costing $5. It has got a Broadcom BCM2835 processor (1GHz
> ARM11 core), 512MB of LPDDR2 SDRAM, and is capable of running a lot of
> useful software (browser, mail, Python, Java).
>
> 
> 
>
> As I don’t know much about the different kinds of ARM processors, I just
> wanted to try if 64-bit PicoLisp could run on this Pi Zero, but I may have
> been a little too optimistic. This is what I got:
>
> pi@raspberrypi:~/PicoLisp/picoLisp $ (cd src64; make)
> cc -o sysdefs -D_FILE_OFFSET_BITS=64 sysdefs.c
> strip sysdefs
> ./mkAsm emu "" .c Linux base "" ../lib/map  version.l glob.l main.l gc.l
> apply.l flow.l sym.l subr.l big.l io.l db.l net.l err.l sys/emu.code.l
> cc -c -O -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 emu.base.c
> cc -o ../bin/picolisp emu.base.o -Wl,--no-as-needed -rdynamic -lc -lm -ldl
> strip ../bin/picolisp
> ./mkAsm emu "" .c Linux ext T ""  ext.l
> ^CMakefile:145: recipe for target 'emu.ext.c' failed
> make: *** [emu.ext.c] Interrupt
>
> I had to Ctrl-C after it had been “busy” (100% CPU) for a few hours.
>
> Building 32-bit PicoLisp wasn’t any more successful, but Ersatz ran fine
> without complains. ;-)
>
> /Jon


Re: PicoLisp Website

2015-12-18 Thread Alexander Williams
Is there a way to see this without cloning the repo and running it locally?
(i'm on mobile right now).

Perhaps someone can attach a screenshot or host a live version somewhere?

Thanks!

AW
On Dec 13, 2015 3:25 AM, "Erik Gustafson" 
wrote:

> My dearest fellow PicoLispers,
>
> I should have shared this two months ago! I don't know why I didn't.
> Anyway, I think PicoLisp is the coolest and wanted to give something back
> to the community.
>
> I made a functional mock-up of a possible new homepage for PicoLisp, which
> can be found here:
>
> https://github.com/erdg/picolisp-website
>
> I set out to build something that reflected the awesomeness of the
> language as I see it, while respecting everything that came before me. The
> logo is just a different take on the existing logo.  And you'll recognize a
> lot of the writing from various PicoLisp sources and tutorials; I grabbed
> the bits that I thought most effectively described what PicoLisp is about,
> and weaved them together with some of my own prose. I think it's fun read
> (albeit a little verbose) that would inspire newcomers to give PicoLisp
> more of the attention it deserves.
>
> It was built entirely with PicoLisp, love, and CSS. No frameworks, no
> extra JS (or BS, for that matter). I tried to keep the CSS as minimal and
> modular as possible - just a few tools and utils that I think fit very well
> into the PicoLisp philosophy.
>
> Do try resizing your browser! It's pretty responsive. Not bad for my first
> foray into the world of frontend design :)
>
> Now, I will admit that this falls more towards the designer side of the
> developer/designer spectrum of websites. It's basically a PicoLisp version
> of the Haskell website at this point. I'm not entirely sold on it myself
> and the 'Try It' section is pretty corny, but I wanted something concrete
> to work towards and this is what came of that effort.
>
> I'm more than happy to answer any questions about the code or design
> choices. Even more, I'd love to hear what you all think! What do you like?
> Anything that doesn't sit well?
>
> Frankly, my end game is to inspire the community to begin work on a new
> PicoLisp website. PicoLisp has come so, so far in the last year! It's
> spreading to more architectures, embedded devices, more people are joining
> the mailing list than ever, writing and sharing software. I love every
> second of it! So I wanted to give you all something to react to, to start
> the conversation.
>
> I had a blast creating this, and I hope that comes through!
>
>
> Peace, love and PicoLisp,
> Erik
>
>
>


Re: Updated kerberos library

2015-10-26 Thread Alexander Williams
Also, can you indicate the license of the C code, as well as the license of
your pil code?

It will help if anyone wants to re-use/distribute them ;)

Thanks!


AW

On Mon, Oct 26, 2015 at 11:20 AM, Alexander Williams <a...@unscramble.co.jp>
wrote:

> This is really great, thanks!
>
> Although I'm personally not a fan of including C deps which are detached
> from upstream. Is there an alternative to using the supplied C code? Has
> the patch been merged into *mod_auth_kerb*? If yes, could I just use that
> shared lib instead?
>
>
> AW
>
> On Fri, Oct 23, 2015 at 12:03 PM, Mansur Mamkin <mmam...@mail.ru> wrote:
>
>> Hi all,
>>
>> I've uploaded updated Kerberos authentication library to the Wiki.
>> This library helps you to add SSO (Single Sign On) to your PicoLisp
>> applications in Windows AD domain. That means your domain users don't need
>> to enter login and password in the applications.
>> Current version makes things slightly simpler,
>> just several steps:
>> * Set up kerberos environment
>> * define 'krblogin' function similar to standard 'login' function
>> * (load "kerbauth/kerbauth.l")
>> * (krbinit "/path/myhost.keytab" "HTTP/myhost.example@example.com")
>> * add HTML link to "!krbneg" URL
>>
>> See README for detailed instructions
>>
>> Link: http://picolisp.com/wiki/?kerbauth
>> --
>> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
>>
>
>


PicoLisp in TinyCore Linux

2015-09-22 Thread Alexander Williams
Hi everyone,

I've submitted PicoLisp as a TinyCore Linux (http://tinycorelinux.net/)
extension for x86_64 (64-bit) architecture. An armv7 (32-bit Raspberry Pi
2) extension has also been built and submitted, but is not in the official
TinyCore repo yet.

It is split into 3 extensions:

- picolisp (the picolisp binary only)
- picolisp-lib (libs, games, debug, misc, etc) <-- most people will want
this
- picolisp-doc (reference documentation)

Current version: 3.1.11

Installation: tce-load -wi picolisp picolisp-lib picolisp-doc

You can also get the extensions and source build scripts from GitHub:
https://github.com/aw/picolisp/releases/tag/tinycore-3.1.11

As discussed with Mr. Burger, I am happy to be the official maintainer of
PicoLisp for TinyCore, so feel free to contact me for updates, adjustments,
or other questions regarding this.

Cheers,


AW
*https://aw.github.io/picolisp/* 


Re: How to manage picoLisp projects

2015-06-30 Thread Alexander Williams
Hi,

I did create a module manager which uses the *Makefile* and *module.l*, but
the code is not clean and it doesn't entirely work the way I want, so I
haven't released it. I don't think I would have time to release anything
before the end of summer, so feel free to take a stab at it if you think
this type of thing is necessary for PicoLisp.

It's a tough problem, so care must be taken to avoid re-creating NPM ;)


AW

On Mon, Jun 29, 2015 at 4:18 AM, andr...@itship.ch wrote:

 Hi Erik, thanks for the hint!

 I discussed this topic with Alex Williams before, but somehow I wasn't
 aware of what he did here with the Makefile.
 That's really neat, something like this really should be intergrated in a
 module management, I think.


 - Original Message -
 From: Erik Gustafson [mailto:erik.d.gustaf...@gmail.com]
 To: picolisp@software-lab.de
 Sent: Mon, 29 Jun 2015 02:59:23 -0500
 Subject:

 Alex Williams is onto something. Checkout
 https://github.com/aw/picolisp-nanomsg, notably the Makefile and module.l.
 Works very well!

 On Monday, June 29, 2015, andr...@itship.ch wrote:

  Hi Rick
 
   Basically, I'm wondering if there is a project management tool like
   Maven (Java), Leiningen (Clojure), Cask (Elisp), ASDF (CL), but for
   picoLisp.  I'd also be interested in hearing arguments for or against
   such a thing.  (Not having used these tools, I'm ok just manually
   keeping these things up, but many of you here are more experienced
   than I in deploying and maintaining software, so I'd appreciate your
   thoughts.)
 
  Check this thread:
  https://www.mail-archive.com/picolisp%40software-lab.de/msg05140.html
 
  I'm attempting to do something on that topic, if anyone already has a
  solution or additional ideas, contact me please.
 
  - beneroth
 
 




Re: PicoLisp now detected on GitHub

2015-06-17 Thread Alexander Williams
Hello Christophe,

Thank you for this!

On 2015-06-18, at 0:48, Christophe Gragnic christophegrag...@gmail.com 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
 
 -- 
 
 http://profgra.org/lycee/ (site pro)
 http://delicious.com/profgraorg (liens, favoris)
 https://twitter.com/profgraorg
 http://microalg.info
 -- 
 UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
--
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: https server side

2015-05-26 Thread Alexander Williams
Hi Luis,

My approach uses stunnel4, which is available on most *NIX systems.

It launches an HTTPS listener on port 8443, and forwards to the regular
PicoLisp HTTP server on port 8080.

# https.l
---
(de https-start ()
  (call '/usr/bin/stunnel4 stunnel.conf) )

(de https-stop ()
  (call 'killall stunnel4) )
---

# stunnel.conf
---
debug = 4
output = /home/alex/stunnel.log
pid = /home/alex/stunnel.pid
cert = /home/alex/https-server.pem
CApath = /etc/ssl/certs
sslVersion = all
options = NO_SSLv2
options = NO_SSLv3

[https]
accept  = 8443
connect = 8080
---


AW
*https://aw.github.io/picolisp https://aw.github.io/picolisp*


On Tue, May 26, 2015 at 11:25 PM, Luis P. Mendes luisl...@gmail.com wrote:

 Hi,


 I couldn't find anything about the support of https in server side in
 'Picolisp by Example' and in 'Picolisp Works' books.
 But, there's a thread

 http://t8373.lisp-picolisp-general.lispforum.info/picolisp-ssl-problem-t8373-20.html
 that seems to imply that https/SSL has been implemented.
 So my question, can a https server application be build in Picolisp
 with a certificate signed by some CA?
 If so, what part of the documentation am I missing?

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



Re: MySQL native C wrapper

2015-05-01 Thread Alexander Williams
OK I see. I'll have a look later today and see if I can handle those issues.

Thanks!!

On 2015-05-02, at 1:33 AM, Henrik Sarvell hsarv...@gmail.com wrote:

 I've now updated, due to time constraints I have not done the following:
 
 1.) Linked straight to the mysql client library as I still need to call my 
 conn function in mysql.c, in order to get rid of it one first needs to call 
 mysql_init to get the connection struct, so far so good but then calling 
 mysql_real_connect and being able to get the updated pointer properly 
 requires somehow mapping the struct on line 242 in /usr/include/mysql/mysql.h 
 in the call, too much; didn't do that.
 
 2.) Some kind of proper query builder, there are some helper functions in the 
 form of the mk*s.
 
 Due to time constraints I believe I'm done for now for the foreseeable 
 future. 
 
 
 
 
 On Mon, Apr 27, 2015 at 10:14 AM, Henrik Sarvell hsarv...@gmail.com wrote:
 Yes, you're right, I'll remove it and link straight to the lib, it
 was something I did in the beginning of the process when I was unsure
 of how transparently I could pass references to structs around.
 
 As it turned out it's completely seamless so your suggestion makes
 perfect sense, or be my guest and do it yourself if you're anxious, I
 won't have time until next weekend, feel free to copy whatever you
 like from me.
 
 On Mon, Apr 27, 2015 at 3:28 AM, Alexander Williams
 a...@unscramble.co.jp wrote:
  Henrik this is great!!
 
  I've been looking for something like this but it was a little lower on my 
  priority list. Thank you!
 
  I find it interesting that you wrote some C to initiate the mysql 
  connection Would it be easier to do it in PicoLisp and simply use 
  libmysqlclient.so ?
 
  On 2015-04-27, at 6:00 AM, Henrik Sarvell hsarv...@gmail.com 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
  --
  UNSUBSCRIBE: mailto:picolisp@software-lab.de?subjectUnsubscribe
 


Re: 4clojure tasks in PicoLisp

2015-04-30 Thread Alexander Williams
From seeing your activity on IRC, I had a feeling you were going to
announce something about these tasks..

This is really great work! Thank you.

On Wed, Apr 29, 2015 at 8:57 AM, Mike Pechkin mike.pech...@gmail.com
wrote:

 hi,

 With backbone support from Mr.Burger all tasks were implemented.
 Sources in bitbucket here: http://goo.gl/fhymP8

 Notes:
 o) favourite - #52 Intro to Destructuring (easy.l)
 o) the most interesting - #140 Veitch, Please! (hard.l)
 o) Some tasks ignored
 o) Comments, patches, objections and polish stuff are welcome.



 p.s.
 Alexander Burger (author of PicoLisp) is free for hiring.
 CV available by request.
 http://software-lab.de

 Mike




Re: MySQL native C wrapper

2015-04-26 Thread Alexander Williams
Henrik this is great!!

I've been looking for something like this but it was a little lower on my 
priority list. Thank you!

I find it interesting that you wrote some C to initiate the mysql connection 
Would it be easier to do it in PicoLisp and simply use libmysqlclient.so ?

On 2015-04-27, at 6:00 AM, Henrik Sarvell hsarv...@gmail.com 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
--
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: A Unit Testing library for PicoLisp

2015-03-24 Thread Alexander Williams
Just to give a small update:

- I've added a few more assertions and a table to explain their usage.

https://github.com/aw/picolisp-unit/blob/master/README.md#assertions-table

- A new EXPLAIN.md exists for the Unit Testing library, because it's been a
while and I thought it would be fun.
https://github.com/aw/picolisp-unit/blob/master/EXPLAIN.md

- Unit tests were written for the Json, Https, and Nanomsg libraries as
well.
https://travis-ci.org/aw/picolisp-json
https://travis-ci.org/aw/picolisp-https
https://travis-ci.org/aw/picolisp-nanomsg

- Also documented all libraries in a small website:
https://aw.github.io/picolisp


More to come soon ;)

Thanks!



On Wed, Mar 18, 2015 at 6:09 PM, Michel Pelletier 
pelletier.mic...@gmail.com wrote:

 Dude you're on fire!

 On Wed, Mar 18, 2015 at 8:21 AM, Alexander Williams a...@unscramble.co.jp
  wrote:

 Hi list,

 I've written a small unit testing library/framework for testing PicoLisp
 code.

 It's extremely simple but produces somewhat decent output.

   https://github.com/aw/picolisp-unit

 I've already included this library in the picolisp-bcrypt library, and
 written tests for it as well:

 https://travis-ci.org/aw/picolisp-bcrypt

 The library includes a few types of assertions, but I still have some
 others to add, including refute and some other things.

 Please let me know your comments/suggestions

 Thanks!





A Unit Testing library for PicoLisp

2015-03-18 Thread Alexander Williams
Hi list,

I've written a small unit testing library/framework for testing PicoLisp
code.

It's extremely simple but produces somewhat decent output.

  https://github.com/aw/picolisp-unit

I've already included this library in the picolisp-bcrypt library, and
written tests for it as well:

https://travis-ci.org/aw/picolisp-bcrypt

The library includes a few types of assertions, but I still have some
others to add, including refute and some other things.

Please let me know your comments/suggestions.

Thanks!


A bcrypt library for PicoLisp

2015-03-17 Thread Alexander Williams
Hi all,

I've cooked up yet another library for everyone to enjoy. This time it's
for bcrypt hashing:

  https://github.com/aw/picolisp-bcrypt

I haven't written an EXPLAIN.MD though, because the code is so brief and
doesn't really introduce anything new.

This was written as per someone's request on IRC (beneroth?), and it turns
out I needed it as well.

As usual, let me know your comments/suggestions.

Thanks!


Re: A bcrypt library for PicoLisp

2015-03-17 Thread Alexander Williams
Hi Jon,

I'm using Mac OS X, but for PicoLisp dev it's just SSH to an AWS instance
running 64-bit Debian 7.

Sometimes I'll use a virtualbox VM locally if I don't have internet access,
but it's too slow for regular use.


On Tue, Mar 17, 2015 at 9:25 AM, Jon Kleiser jon.klei...@fsat.no wrote:

 Hi Alexander W.,

 I’m just curious about what kind of development system you’re using. From
 the screen dump in the picolisp-bcrypt/README.md it seems that you are
 using some kind of Mac OSX, but at the same time the README.md says that
 “PicoLisp 64-bit v3.1.9+” is required. Are you using Docker?

 /Jon

 On 17. Mar, 2015, at 09:52, Alexander Williams a...@unscramble.co.jp
 wrote:

  Hi all,
 
  I've cooked up yet another library for everyone to enjoy. This time it's
 for bcrypt hashing:
 
https://github.com/aw/picolisp-bcrypt
 
  I haven't written an EXPLAIN.MD though, because the code is so brief
 and doesn't really introduce anything new.
 
  This was written as per someone's request on IRC (beneroth?), and it
 turns out I needed it as well.
 
  As usual, let me know your comments/suggestions.
 
  Thanks!

 --
 UNSUBSCRIBE: mailto:picolisp@software-lab.de?subjectUnsubscribe



An HTTP(S) client library for PicoLisp

2015-03-16 Thread Alexander Williams
Hi everyone,

Presenting another thing, this time it's an HTTPS library using a native C
lib for the hard stuff.

It includes functions for http/https GET/HEAD/POST/PUT/DELETE/*ANYTHING*,
and can perform authentication.

It returns the response body in a cons pair, or save to file, and returns
headers in a list of cons pairs.

Of course, I've documented most of the functionality here:

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

And you can get the code here:

https://github.com/aw/picolisp-https

Let me know if I missed something, as I haven't fully tested every scenario
(this was slightly more complex).

Thanks!


Re: Google Code closing

2015-03-13 Thread Alexander Williams
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




Yet another JSON lib, and a tutorial

2015-03-10 Thread Alexander Williams
Hi list,

I've written yet another JSON encoder/decoder for PicoLisp. I know, they
already exist..

This library is using a native C library for JSON parsing, so it's a bit
different.

Of course, I've written a tutorial which explains a few more concepts I
learned (Thanks Mr. Burger).

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

And the library: https://github.com/aw/picolisp-json

Please let me know if you find any issues..


Thanks!


A PicoLisp native library tutorial

2015-03-03 Thread Alexander Williams
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!


Re: A PicoLisp native library tutorial

2015-03-03 Thread Alexander Williams
Thanks Dave.

That looks painful, but I look forward to seeing your implementation.

On Tue, Mar 3, 2015 at 6:29 PM, Loyall, David david.loy...@nebraska.gov
wrote:

  From: Alexander Williams
 [...]
  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

 This is great, Alexander!

 I really like this part:

  (setq Result (12 104 101 108 108 111 0 0 8 0 0 0 0 0 0 0))
  - (12 104 101 108 108 111 0 0 8 0 0 0 0 0 0 0)
  : (head (car Result) (cdr Result))
  - (104 101 108 108 111 0 0 8 0 0 0 0)
 
  [...]
 
  : (pack (mapcar char (head (car Result) (cdr Result
  - hello^H
 
  **Note:** What this means is it receives the 8K buffer which
  contains a bunch of zeros at the end (assuming you didn't
  fill the buffer), it maps over the list, sets the zeros to
  NIL, packs it and you end up with a nice friendly string.

 Now, I can go back to some (failed) hobby code I made to interface with
 https://www.gnu.org/software/libc/manual/html_node/Regular-Expressions.html
 .

 In my first attempt, I got stuck at the point where I need to handle the
 Result struct...

 Thank you,
 --Dave



Re: A PicoLisp native library tutorial

2015-03-03 Thread Alexander Williams
Thank you all for your nice comments.

On Tue, Mar 3, 2015 at 7:58 PM, Michel Pelletier pelletier.mic...@gmail.com
 wrote:

 Awesome!

 On Tue, Mar 3, 2015 at 11:49 AM, Jakob Eriksson ja...@aurorasystems.eu
 wrote:

 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





Subscribe

2015-03-03 Thread Alexander Williams