01:16
chuckJ has joined #picolisp
01:46
orivej_ has joined #picolisp
01:46
orivej has quit [Ping timeout: 276 seconds]
02:32
aw- has joined #picolisp
03:00
franco has joined #picolisp
04:53
orivej_ has quit [Ping timeout: 248 seconds]
04:57
orivej has joined #picolisp
06:14
<
aw- >
hmmm.. seems Alex's https gateway is down
06:18
franco has quit [Ping timeout: 260 seconds]
06:31
<
yumaikas >
So I'm trying out Termux for the first time on Andriod
06:31
<
yumaikas >
Liking it so far.
06:42
Regenaxer has joined #picolisp
07:03
<
aw- >
Regenaxer: question about miniPicolisp and gen3m
07:03
<
aw- >
does gen3m need to be compiled for the target architecture?
07:04
<
aw- >
I read this line ten times already "This is necessary because gen3m must be aware of the architecture (cell sizes differ on 32 or 64 bit machines)."
07:04
<
aw- >
but still not clear
07:04
<
Regenaxer >
architecture here means 32 or 64 bit
07:04
<
Regenaxer >
not the cpu
07:05
<
Regenaxer >
Where is that written?
07:05
<
aw- >
so compiling it on 32-bit will not be able to compile miniPil for 64-bit ?
07:06
<
Regenaxer >
Ah, this talks about the tool
07:07
<
aw- >
i'm thinking it's these lines from gen3m.c:
07:07
<
aw- >
typedef unsigned long word;
07:07
<
aw- >
typedef unsigned char byte;
07:07
<
Regenaxer >
So perhaps cross-compilation is difficult
07:07
<
aw- >
ahhh yes, that's what i'm trying to figure out
07:07
<
Regenaxer >
all sizes I think
07:07
<
Regenaxer >
it builds cells
07:08
<
Regenaxer >
Not sure how to do it in cross-compilation
07:08
<
Regenaxer >
I would use qemu
07:09
<
aw- >
but there's no way the Mizar used qemu.. it's what i'm trying to figure out
07:10
<
aw- >
ohhh they used scons! ugh
07:13
<
Regenaxer >
What is scons?
07:14
<
Regenaxer >
I meant not qemu on the target, but on the build system
07:14
<
Regenaxer >
just compile gen3m in qemu
07:14
<
Regenaxer >
then
*use* it in the build
07:15
<
aw- >
yeah i tried a few ways of doing that and couldn't
07:15
<
Regenaxer >
(if build is done on a arm64, with qemu arm32)
07:15
<
Regenaxer >
is stand-alone
07:16
<
Regenaxer >
Perhaps better to make gen3m aware of that?
07:16
<
aw- >
can i build this without gen3m ?
07:17
<
Regenaxer >
you need the *.d files
07:18
<
aw- >
right.. sym.d etc
07:19
<
Regenaxer >
don't rememrer exactly, but aren't they
07:19
<
Regenaxer >
CPU independent?
07:20
<
Regenaxer >
Just pointers and offsets?
07:20
<
aw- >
oh... wait i'll try
07:22
<
Regenaxer >
It looks like a common cross-compilation issu, building a tool for the toolchain
07:24
<
Regenaxer >
If you find a way, can you add a not to the wiki article?
07:24
<
aw- >
this Makefile is a bit confusing
07:25
<
aw- >
what's the default target?
07:26
<
aw- >
i don't understand how it knows what to compile with just "make"
07:26
<
Regenaxer >
It is always the first target, here picolisp: $(bin)/picolisp
07:28
<
aw- >
ok i get it now ;)
07:30
<
Regenaxer >
I'm reading the article now. Didn't remember that I even wrote it ;)
07:32
<
aw- >
ok i'm getting integer overflow when i try to cross compile
07:32
<
aw- >
perhaps because:
07:32
<
aw- >
fprintf(fp, "\n#define ROMS %d\n", RomIx);
07:32
<
aw- >
fprintf(fp, "#define RAMS %d\n", RamIx);
07:33
<
aw- >
it's the only thing in sym.d which might be architecture specific
07:33
<
Regenaxer >
Do you use -m32 or so to build 'gen3m'?
07:33
<
aw- >
yes that's what i'm trying
07:41
<
aw- >
ok so... -m32 is not for ARM
07:48
<
aw- >
i need a different way to cross-compile with gen3m
07:48
<
aw- >
or without gen3m
07:49
<
Regenaxer >
Without is not possible I think
08:01
<
aw- >
how can I manually specify the cell sizes?
08:04
<
Regenaxer >
hmm, first step would be to replace sizeof(char*)
08:04
<
Regenaxer >
But I don't know if this is enough
08:04
<
Regenaxer >
There may be many more assumptions about the sizes
08:05
<
Regenaxer >
Why is it not possible to build gen3m for the toolchain?
08:08
<
Regenaxer >
hmm, there is 'Bits'
08:08
<
Regenaxer >
introduced 13sep16abu
08:10
<
aw- >
i think qemu is probably necessary
08:21
<
aw- >
although would be nice if i could cross-compile :\
08:27
<
Regenaxer >
I can't believe that it is not possible to compile executables for the toolchain
08:28
<
Regenaxer >
in 32bit
08:28
<
Regenaxer >
How did the Mizar people do it?
08:28
<
aw- >
not because i can't run it
08:28
<
aw- >
i can compile 32 but it won't run
08:28
<
aw- >
the problem is gen32m
08:29
<
aw- >
I found a paper published by Raman Gopalan on picoLisp for embedded
08:29
<
aw- >
and this: Currently, a Python based build system called SCons [8] is being used to compile the code base.
08:33
<
Regenaxer >
looks like something in that direction
08:34
<
aw- >
hmmm... it says gen3m is optional?
08:34
<
Regenaxer >
Perhaps if you built *.d already
08:35
<
Regenaxer >
But you will need to re-build them frequently
08:36
<
aw- >
well.. for anything that's written in .s right?
08:36
<
Regenaxer >
The idea is to put also application-specific stuff there
08:36
<
Regenaxer >
to use less RAM
08:38
<
aw- >
i need a coffee
08:42
<
aw- >
ok Regenaxer, in ram.d: "(any)0x1338649, (any)(Rom+1)," <— 0x1338649 is a memory address?
08:44
<
Regenaxer >
Rather an offset I suppose
08:44
<
Regenaxer >
a constant value
08:45
<
Regenaxer >
it is a function pointer here, boxed as a number
08:45
<
Regenaxer >
<<2 | 1
08:46
<
Regenaxer >
I don't remember well
08:47
<
Regenaxer >
Function addresses are not known at this point, right?
08:47
<
aw- >
i don't know.. i'm still trying to wrap my head around the code
08:48
<
Regenaxer >
(any)0x29951a59, (any)(num(doQuote) + 2),
08:48
<
Regenaxer >
this is a pointer into code, in boxed form
08:50
<
Regenaxer >
haha, no!
08:50
<
Regenaxer >
it is the name
08:50
<
Regenaxer >
no problem
08:51
<
Regenaxer >
as I said, a constant, no pointer
08:51
<
aw- >
just a constant
08:51
<
Regenaxer >
sym.d and rom.d go in sync
08:52
<
Regenaxer >
0x27c9a7 is "NIL"
08:52
<
Regenaxer >
in ASCII-6/7
08:52
<
Regenaxer >
the encoding of miniPil names
08:53
<
Regenaxer >
So in "(any)0x29951a59, (any)(num(doQuote) + 2)" 0x29951a59 is the name
08:53
<
Regenaxer >
and doQuote+2 is the function pointer
08:53
<
Regenaxer >
ie. the value of that symbol
08:54
<
aw- >
how do you know 0x27c9a7 is NIL ?
08:54
<
aw- >
i'm looking at init.s
08:55
<
Regenaxer >
cause sym.d and rom.d go in parallel
08:56
<
Regenaxer >
or, in this case, beginning of main()
08:56
<
Regenaxer >
NIL is created first
08:57
<
Regenaxer >
then T and then quote
08:57
<
aw- >
since before i was looking at sym.d and ram.d oops
08:58
<
aw- >
oh this is wonderful
08:58
miskatonic has joined #picolisp
09:00
<
aw- >
ok ok, it's all starting to make sense now
09:01
<
aw- >
ok next question: can you explain "static byte Ascii6[]" from gen3m.c ?
09:02
<
aw- >
the byte array
09:03
<
aw- >
where do the numbers come from
09:04
<
miskatonic >
isn't pil written nowadays in assembly, not C?
09:04
<
Regenaxer >
miskatonic, yes, but this is miniPicoLisp
09:05
<
Regenaxer >
aw-, mini uses a tricky encoding
09:05
<
Regenaxer >
ASCII packed in 6 or 7 bits
09:05
<
Regenaxer >
see mini/doc/structures
09:06
<
Regenaxer >
ASCII-6/7 -> 96 characters: ...
09:06
<
Regenaxer >
Common characters take only 6 bits
09:07
<
aw- >
very interesting..
09:08
<
aw- >
it's actually pretty brilliant
09:08
<
miskatonic >
Is that like the common compression algorithms, where frequent patterns are encoded as shorter sequences than rare patterns?
09:09
<
Regenaxer >
yes, but much simpler
09:09
<
Regenaxer >
quite trivial, just pack the bits
09:10
<
Regenaxer >
ie. the frequency is not detected dynamically, but the encoding is fixed
09:14
<
beneroth >
exciting discussion :)
09:14
beneroth is now known as bene|off
09:23
<
cess11 >
yes, very interesting
10:23
<
m_mans >
btw, VSCode editor seems very nice choice for PicoLisp
10:25
<
cess11 >
Isn't it quite bloated? 1 GB RAM+?
10:25
<
cess11 >
Maybe I'm confusing it with something else.
10:33
<
cess11 >
No, it was it and Atom I had in mind. Perhaps they're better now, haven't used Windows in a year or two.
10:43
<
m_mans >
I'm on Linux
10:50
<
m_mans >
Hm, I see that VSCode uses several processes, might be quite expensive
10:51
<
m_mans >
not 'pico' solution of course
10:52
abel-normand has joined #picolisp
10:52
abel-normand has left #picolisp [#picolisp]
11:16
<
clacke[m] >
They're both Electron-based, so they'll eat a gig of your RAM before you even start typing. GigaLisp.
11:24
<
m_mans >
yeah, seems so
11:25
fraya has joined #picolisp
11:30
<
cess11 >
I went full vim when I left Windows for Manjaro, whenever it was.
11:31
<
cess11 >
Notepad++ was pretty good in my opinion.
11:32
<
cess11 >
Not sure how well it does with code styling outside JS and some MS languages though.
11:38
orivej has quit [Ping timeout: 248 seconds]
11:49
<
aw- >
ahahah VSCode
11:49
<
aw- >
GigaLisp indeed
11:49
<
aw- >
m_mans: what Linux are you on?
11:49
<
m_mans >
Mint 18.1 Mate
11:50
<
m_mans >
ok, I'll see :)
11:50
<
aw- >
i think it comes by default with mate
11:50
<
aw- >
That's what I use on Linux: lightweight, not bloated with features, still has syntax highlighting and line numbers
11:52
<
aw- >
or you know.. SublimeText is nice too.. but for me there's no arm64 build :( .. also closed source :(
11:57
<
clacke[m] >
A gedit with syntax highlighting? Interesting. (pluma)
11:59
<
clacke[m] >
And it's ported to GTK+3. I thought MATE porting to GTK+3 was stalled forever. At least for this app I'm apparently wrong.
12:00
<
C-Keen >
gedit does have syntax highlighting already?
12:00
<
clacke[m] >
Oh, I just wasn't aware then.
12:00
<
clacke[m] >
I have only used it like I would use Notepad on Another OS.
12:00
<
clacke[m] >
Ah, I'm hilariously wrong about gtk+3
12:00
<
clacke[m] >
"is now GTK3 only"
12:01
<
aw- >
clacke[m]: yeah!
12:02
<
aw- >
my perception of gEdit has always been "bleh"
12:02
<
C-Keen >
with plugins it is pretty nice, without it it is pretty bland. same can be said for emacs and vi :)
12:23
<
cess11 >
The basic command engine in vim is pretty powerful on its own.
12:23
<
cess11 >
And emacs understands a lisp.
12:24
<
C-Keen >
and gedit understands python for plugins, so that' on par :)
12:26
<
cess11 >
Sounds cumbersome to use plugins.
12:30
<
miskatonic >
emacs lisp is completely different from picolisp
12:30
alexshendi has quit [Read error: Connection reset by peer]
12:30
<
aw- >
Regenaxer: how is the "number of cells" defined in miniPicoLisp?
12:31
<
cess11 >
miskatonic: How much is completely?
12:31
<
aw- >
i'm looking for the code that differentiates 32/64-bit
12:32
<
miskatonic >
cess1: complete enough to write easily pil-secpressions which are invalid in emacs, and vice versa
12:32
aw- has quit [Quit: Leaving.]
12:37
alexshendi has joined #picolisp
12:40
<
miskatonic >
thirty-years-of picolisp is rapidly approaching. we need a picolisp script for a pil processor embedded into the controller of a digital stove, able to bake an anniversary cake
12:42
<
cess11 >
Right, so just about everything is completely different, including different versions of pil.
12:53
aw- has joined #picolisp
12:53
<
anjaa >
cess11: accidentally hit myself in the mouth with a moving box, but at least i didn't split my lip
12:54
<
Regenaxer >
aw-, it is as I wrote above: hmm, there is 'Bits'
12:54
<
Regenaxer >
it is the solution
12:54
<
Regenaxer >
if ((Bits = atoi(*++av)) == 0)
12:54
<
Regenaxer >
Bits = (int)sizeof(char*) * 8;
12:54
<
Regenaxer >
So no worry with qemu
12:55
<
aw- >
oh ok, so it is in gen3m
12:55
<
Regenaxer >
Sorry, forgot about this, and then was out untie no
12:55
<
Regenaxer >
pass 64 or 32 as first arg
12:56
<
aw- >
Makefile specifies 0
12:56
<
Regenaxer >
yep, default
12:57
<
Regenaxer >
s/default/auto
12:57
<
aw- >
OK this is perfect!
13:07
<
cess11 >
anjaa: Ow.
13:19
fraya has quit [Quit: Leaving]
13:38
rob_w has joined #picolisp
13:41
alexshendi has quit [Ping timeout: 248 seconds]
13:58
alexshendi has joined #picolisp
14:15
orivej has joined #picolisp
14:29
franco has joined #picolisp
14:30
alexshendi has quit [Ping timeout: 248 seconds]
14:38
<
tankfeeder >
rebooting? :)
14:51
<
cess11 >
Works for me.
15:01
<
Regenaxer >
strange!
15:02
<
Regenaxer >
Seems to be down! Thanks for the hint!
15:02
<
Regenaxer >
It is hosted by Strato.de
15:05
DerGuteMoritz has quit [Read error: Connection reset by peer]
15:10
<
Regenaxer >
What might be wrong? It is running without flaw since 2004
15:11
alexshendi has joined #picolisp
15:13
<
Regenaxer >
Now it works again!
15:13
<
Regenaxer >
Seems they had some problems
15:15
<
miskatonic >
what does strato have to do with picolisp?
15:16
<
Regenaxer >
I rented web space and email there
15:20
<
miskatonic >
would be cool if there routers, load balancers, firewalls etc. were powered by pil
15:25
DerGuteMoritz has joined #picolisp
15:40
alexshendi has quit [Ping timeout: 248 seconds]
15:57
rgrau has joined #picolisp
16:43
aw- has quit [Quit: Leaving.]
17:12
orivej has quit [Remote host closed the connection]
17:12
franco has quit [Ping timeout: 260 seconds]
17:16
orivej has joined #picolisp
17:20
orivej has quit [Ping timeout: 240 seconds]
17:21
orivej has joined #picolisp
17:23
nihirash has joined #picolisp
17:24
DerGuteMoritz has quit [Ping timeout: 240 seconds]
18:42
bene|off is now known as beneroth
18:43
alexshendi has joined #picolisp
18:43
<
beneroth >
cess11, clacke[m], m_mans I used to do picolisp with editor nano (with syntax highlighting)
18:44
<
beneroth >
also, you might not really want to use an electron-based editor..
18:44
<
beneroth >
remote code execution in atom
18:46
<
beneroth >
age-old security mistake of trying to block bad stuff with an (ever) incomplete blacklist
18:57
DerGuteMoritz has joined #picolisp
19:13
<
miskatonic >
I use emacs, but not because an editor extensible with one kind of lisp would be a natural choice for editing any other kind of lisp
19:13
<
beneroth >
well I use emacs because of paredit, an editor feature which doesn't make much sense for non-lisp-languages
19:37
orivej has quit [Ping timeout: 240 seconds]
19:51
nihirash has quit [Remote host closed the connection]
20:46
miskatonic has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
20:54
alexshendi has quit [Ping timeout: 250 seconds]
21:23
<
viaken >
paredit is nice
21:48
orivej has joined #picolisp
22:09
alexshendi has joined #picolisp
22:41
alexshendi has quit [Ping timeout: 268 seconds]
23:30
rob_w has quit [Quit: Leaving]