<anddam>
unlimited stack meaning there is proper tail call in the recursion?
<anddam>
tankf33der: ^^
<Regenaxer>
Hi anddam! No, there is no tail call in pil. It always really recurses
<Regenaxer>
It is ulimit -s unlimited
<beneroth>
Good morning anddam, Regenaxer :)
<Regenaxer>
Hi beneroth :)
<beneroth>
anddam, so unrestricted memory usage - until linux runs out of memory
<beneroth>
Regenaxer, I wondered how to define a joint which in one entity is a +List property and in the other entity consists of two (non-List) properties ?
<beneroth>
possible?
<Regenaxer>
You mean a +Bag?
<Regenaxer>
+Bag does not work reliably with +Joint iirc
<beneroth>
no, not two properties in one
<beneroth>
but two separate properties which are connected to the same single +Joint property in the other entity
<Regenaxer>
Well, this would be a bag, no?
<Regenaxer>
A bag is a list of varying types
<beneroth>
I don't see the need for a bag
<Regenaxer>
How would that look syntactically?
<Regenaxer>
A +Joint is connected to a single relation on the other side
<beneroth>
yeah, so my use case is not possible (not without creating a new type, e.g. +MultiJoint or such...)
<beneroth>
so as a graph: two edges (at one node) becoming merged into one (at the other node)
<Regenaxer>
This cannot work, as both point to the same relation.
<beneroth>
aye :)
<beneroth>
thanks for confirmation :)
<Regenaxer>
The joint does not know what to do if it changes
<Regenaxer>
which one to change on the other side
<beneroth>
T, it kinda becomes directed
<beneroth>
T
<Regenaxer>
Perhaps use two sub-classes?
<beneroth>
I'm not sure yet if my use case is meaningful :)
<beneroth>
T, that would be nicer
<Regenaxer>
Mails are changed to old
<Regenaxer>
ie set!
<beneroth>
yeah I got what you meant :)
<beneroth>
or, for such cases probably better, drop the joint and make it +Ref +Link instead
<Regenaxer>
Joint is fine, but put both into the same
<Regenaxer>
same list
<Regenaxer>
and distinguish between old and new by the type or a flag or so
<beneroth>
what if the same email address is a new for one contact and old for another? :P
<Regenaxer>
Ok, I see
<Regenaxer>
they are shared
<beneroth>
maybe unlikely with personal address, but possible with company/system addresses
<beneroth>
aye
<beneroth>
sounds like +Ref to me. or two +Joint properties in email
<Regenaxer>
+List +Ref should work then
<Regenaxer>
T
<beneroth>
yeah +List +Ref should be the more proper one, as this is kinda the real intention (finding contacts by email)
<beneroth>
thanks :)
<Regenaxer>
:)
<beneroth>
if you got 5 more min: when to use +Idx +Fold and when +IdxFold ? :D
<Regenaxer>
I always look into doc/search
<Regenaxer>
is that public?
<Regenaxer>
It is either (+Fold +Idx +String) or (+IdxFold +String)
<beneroth>
it's public
<Regenaxer>
I think +Idx +Fold is not useful
<beneroth>
ah yes
<beneroth>
mistyped
<beneroth>
but same question xD
<beneroth>
ah I see
<Regenaxer>
Most often I use +IdxFold
<beneroth>
ok
<Regenaxer>
Let me check
<Regenaxer>
I use +Fold +Idx too
<beneroth>
looks like +IdxFold produces less index keys than +Fold +Idx, but that includes the original value which appears not be used as index key in +Fold +Idx ?
<Regenaxer>
It is good if white space should not be relevant
<Regenaxer>
yes
<beneroth>
good point
<beneroth>
perfect answer "It is good if white space should not be relevant" :D
<Regenaxer>
hmm, not sure ;)
<beneroth>
I see now
<Regenaxer>
the differences are small
<beneroth>
no, its the real thing, first fold, or first split...
<beneroth>
aye
<beneroth>
therefore I asked :)
<beneroth>
thanks
<Regenaxer>
I use it mostly for emails
aw- has quit [Ping timeout: 255 seconds]
razzy has quit [Ping timeout: 268 seconds]
rob_w has joined #picolisp
aw- has joined #picolisp
razzy has joined #picolisp
<wuehlmaus>
is there a possibility to exclude file completion? when i use tab in my home dir. i get far too many completions
<wuehlmaus>
so i normally enter a new directory so that i don't get disturbed by file names
<anddam>
beneroth: 'morning
<wuehlmaus>
moin btw :-)
<Regenaxer>
Hi wuehlmaus!
<Regenaxer>
Not press TAB?
<wuehlmaus>
hi, Alex
<wuehlmaus>
i press it because i want to learn about functions
<wuehlmaus>
so not pressing is not that good :-)
<Regenaxer>
I see
<Regenaxer>
But after the second char there should not be so many matches any more
<wuehlmaus>
so my solution isn't so bad as a work around
<Regenaxer>
Another dir might be invonvenient
<Regenaxer>
You can also use 'what'
<Regenaxer>
: (what "m@r")
<Regenaxer>
-> (mar mapcar member)
ubLIX has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
ubLIX has quit [Ping timeout: 255 seconds]
<wuehlmaus>
oh nice, i did not know about what, helpful and more my taste
<Regenaxer>
Yes, and also more useful
<Regenaxer>
eg. (mapc pp (what "m@r"))
<Regenaxer>
Not for these functions though, as they are built-ins and thus only numbers
<Regenaxer>
or NIL for 'mar'
<Regenaxer>
For long lists 'more' is better than 'mapc' here
<wuehlmaus>
very nice and i think it's unique, isn't it?
<Regenaxer>
Unique in which range?
<Regenaxer>
Must go - afp bbl
<wuehlmaus>
(
<wuehlmaus>
i mean no other lisp has that
orivej has joined #picolisp
<Regenaxer>
ret
<Regenaxer>
I think all Lisps have something similar
<Regenaxer>
As it is so very simple
<Regenaxer>
moment, brb
Regenaxer has left #picolisp [#picolisp]
Regenaxer has joined #picolisp
ubLIX has joined #picolisp
<Regenaxer>
Perhaps best for investigating is 'more' with 'help':
<Regenaxer>
: (more (what "map@") help)
<wuehlmaus>
very cool!
aw- has quit [Quit: Leaving.]
<Regenaxer>
sebboh, would you mind testing also PilBox on your Android 5.1.1 device?
<Regenaxer>
Version 19.3.20 needed a change where I'm not 100% sure whether it conflicts with older Androids
<Regenaxer>
Goolge is horrible, they break lots of things with each Android version
rob_w has quit [Remote host closed the connection]
<wuehlmaus>
plus, google search is oh so intelligent and gives me so many results i did not search for
<sebboh>
Alex, pilbox 19.3.20 appears in Play Store when I search from my device.
<Regenaxer>
Great, so it is already available. I released this morning
<sebboh>
installed. It opens. [X]\n\nPilBox = arm64\nOS/CPU = armeabi-v7a
<Regenaxer>
OK, so we need arm32.zip
<sebboh>
The [X] is like, a box with an X in it. (missing glyph?)
<Regenaxer>
can you download it and share with pilbox
<Regenaxer>
I think [X] is a sad emoticon
<Regenaxer>
Seems phone is not utf8 :)
<sebboh>
I only read 1% of the picolisp mailing list.
<Regenaxer>
No problem, this was not discussed in the list anyway
<Regenaxer>
The message means thay pilbox is 64 bit but the CPU is 32
<Regenaxer>
The arm32 plugin should fix it
<Regenaxer>
it uses emu
<sebboh>
You mean the phone doesn't use a font by default that has that glyph.. Surely you realize that "sad emoticon" works in other apps. ;) Maybe they specify font or something--but, of course, this is not my area of expertise
<Regenaxer>
Not sure, it is a WebView, and I specify utf8
<Regenaxer>
Not important
<Regenaxer>
it is ☹
<Regenaxer>
(does it work in irc?)
<Regenaxer>
ie a 16-bit unicode in utf8
<sebboh>
it works in my irc. I'm using .. let's see... windows 10 running msys2-mintty ssh'd to a debian vm, tmux, ssh to a debian physical machine, tmux, ssh to an ubuntu box, tmux, weechat. Hi. And the emoji works. It's not double-wide though.
<sebboh>
I will get the zip onto the phone soon
<Regenaxer>
right, single width like ☺ too
Regenaxer has left #picolisp [#picolisp]
Regenaxer has joined #picolisp
<Regenaxer>
Good, if you download arm32.zip, you can either click on it to install, or long-press and then share
<Regenaxer>
On some phones only one of the two seems to work
razzy has quit [Ping timeout: 255 seconds]
<sebboh>
java.io.FileNotFoundException: /data/data/de.software_lab.pilbox/files/PIL-/storage/sdcard0/download/arm32: open failed: ENOENT (No such file or directory)
<sebboh>
clicking to install seemed to cause the installation to be attempted. How did the phone know what to do with the zip?
<sebboh>
I know a little about Android "Intents". That's how 'share' works.
<sebboh>
It starts a process with the path to the file as an argument, is that right? But.. so is pilbox registered for all .zip? Or does android look inside zip contents?
<Regenaxer>
Hmm, this looks strange
<Regenaxer>
But clicking installed it?
<Regenaxer>
So if you start it, you should see a white page with two icons on top
<Regenaxer>
Yes, PilBox tells Android that it accepts ZIPs
<Regenaxer>
it does this with an <intent-filter> in AndroidManifest.xml
<sebboh>
ok. Well the installation was started but I see no indication that it finished. just that java exception. no response to taps on that screen.. so I used the 'square button' to view a list of open apps (or tasks or whatever). This showed me that the exception text I pasted was displayed in the File Manager window. Ok. It was still stuck, so I closed it from this "square" screen. Then I try to start
<sebboh>
pilbox and it hangs, "PilBox isn't responding. Do you want to close it?" "Report, Wait, OK"
<Regenaxer>
:(
<sebboh>
Do you get the output of Report?
<Regenaxer>
The PilBox = arm64 message did not appear any more?
<sebboh>
correct it does not appear
<Regenaxer>
Not sure about the report
<Regenaxer>
What if you pass arm32 once more?
<sebboh>
then I won't try 'Report', the play store can be cruel to developers.
<sebboh>
I don't know what the button does.
<Regenaxer>
What seems to work best for customers where I saw such installation problems
<Regenaxer>
was clicking on the zip in Chrome
<Regenaxer>
then immediately when "Open" pops up on the bottom
<Regenaxer>
click on that "Open"
<sebboh>
understood. How nice for those users. ;)
<Regenaxer>
:)
<Regenaxer>
It is only for 32 bit devices, which become rare with time
<sebboh>
I am going to wipe the ~ for the pilbox app.
<Regenaxer>
Which ~ ?
<sebboh>
yeah in a few months I'll have some new device I'm sure
<sebboh>
I mean I'll go into Settings > Apps > Downloaded > PilBox > Clear Data
<sebboh>
and then try again
<Regenaxer>
OK, cant harm now
<sebboh>
exactly once.
<Regenaxer>
Is this a Samsung device?
<sebboh>
I suspect I may have tried the installation of arm32.zip twice
<Regenaxer>
This is no problem
<sebboh>
no it is a Alcatel.
<Regenaxer>
ah, ok
<Regenaxer>
Installing many times is ok, just a hand full of files
<sebboh>
ok after Clear Data (which is similar to reinstalling the app, I think), then I used Share on the zip file. Pilbox is a share option. I select it. Black screen. Time passes.. "Report, Wait, OK"
<Regenaxer>
uh
<Regenaxer>
So the share seems to have worked
<Regenaxer>
Problems I observed so far were always that it did not pass the intent to PilBox
<sebboh>
I think pilbox was started with the path to the zip as a parameter
<Regenaxer>
hmm, is it an Arm CPU ?
<sebboh>
Gosh I hope so. :)
<Regenaxer>
Usually not a path, but a direct InputStream
<Regenaxer>
If it is not Arm, we are out of luck, I have no PicoLisp binary then
<sebboh>
Oh, it pushes the file contents over a stream? yuck... :)
<Regenaxer>
I think so
<sebboh>
(it is surely arm, let's check uname)
<Regenaxer>
It is a ZipInputStream to be exact
<sebboh>
armv7l
<Regenaxer>
good
<Regenaxer>
on Termux?
<sebboh>
yes
<Regenaxer>
You could unpack the zip to a directory
<sebboh>
What's "pie executable" vs "shared object"?
<sebboh>
my linux is 3.10.xxx
<Regenaxer>
It also does not run here in Termux:
<Regenaxer>
CANNOT LINK EXECUTABLE "picoLisp/bin/picolisp.arm32": "/data/data/com.termux/files/usr/lib/libtermux-exec.so" is 64-bit instead of 32-bit
<Regenaxer>
Aborted
<sebboh>
s/linux/android's linux kernel version/
<Regenaxer>
Termux doest have the right libs probably
<Regenaxer>
"pie" means position independent executable
<Regenaxer>
This is required for Android and OK
<Regenaxer>
hmm, sorry, lets give up
<Regenaxer>
Wasting your time
<sebboh>
ok. If I get a chance to sit in front of my desktop for a while tonight, I'll try what I can and post results here. I am still interested in PentiBoard logcat output
<Regenaxer>
Yeah, Penti should be easier
<Regenaxer>
pure Java
<Regenaxer>
but needs a multi touch display
<sebboh>
correct--the device of mine that only had two touch points was a different one.
<Regenaxer>
Dont worry, I'm glad for every info I can get
<Regenaxer>
ok
wuehlmaus has quit [Quit: Aus, die Maus]
wuehlmaus has joined #picolisp
razzy has joined #picolisp
razzy has quit [Ping timeout: 245 seconds]
orivej has quit [Ping timeout: 268 seconds]
ubLIX has quit [Ping timeout: 246 seconds]
f8l has joined #picolisp
tankf33der has quit [Ping timeout: 252 seconds]
tankf33der has joined #picolisp
alexshendi has joined #picolisp
ubLIX has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]
alexshendi has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]