beneroth changed the topic of #picolisp to: PicoLisp language | The scalpel of software development | Channel Log: | Check for more information
<geri> hey, what do you use for android development?
<geri> like tooling
<abu[7]> Only Vip
<abu[7]> and Android Command Line Tools
<abu[7]> App dev is done *on* the device
<geri> oh wait
<geri> was penti written in picolisp?
<abu[7]> No, just Java
<geri> java without completion...
<geri> ouch....
<abu[7]> Penti and Steno are tiny and change seldom
<geri> thats good
msavoritias has joined #picolisp
<geri> (let Sym 'vi (eval (car (cddadr doc))))
<geri> stuff like this being possible is pretty funny :D
<abu[7]> Yep, total freedom and control :)
<geri> itll break if doc changes though
<abu[7]> T
<geri> but yeah thats magical
<geri> (de counter () 0 (set (cadr counter) (+ 1 (cadr counter)]
<geri> what am i doing wrong here?
<abu[7]> (set (cddr
<abu[7]> No
<abu[7]> (set (cdr
<abu[7]> (NIL 0 (set
<abu[7]> CDR is (0 (set
<geri> so i wanna override the whole body?
<abu[7]> No
<abu[7]> 'set' needs a 'var'
<abu[7]> here a cell
<abu[7]> (con (cdr overrides all
<abu[7]> Or (con counter ...) to override including the (0 ..) cell
<geri> okay so i understand its possible but now i dont think its a good idea haha
<geri> especially cause (setq counter 0) & (inc 'counter)
<abu[7]> T
msavoritias has quit [Ping timeout: 252 seconds]
msavoritias has joined #picolisp
<geri> how'd you learn japanese back in the day?
<abu[7]> In Uni for 2 years, then 6 years in Japan
<geri> woah
<geri> having a need really helps with learning
<geri> im only as good as i am at english cause video games since childhood
<abu[7]> Indeed
<abu[7]> Ah, cool
<geri> at this point i dont remember how i was learning at all haha
<geri> i remember going back to a game or some series i was watching understanding it a bit more though
<abu[7]> Without subtitles?
<geri> with english subtitles
<abu[7]> ok
<geri> i can never understand movies to 100% without subs cause the sound not as clear as i need it to be
<abu[7]> Me neither
<geri> random yt videos i dont need subs for, in fact i watch them in 2-3 times speed
<geri> :D
<abu[7]> and now I forgot so much
<geri> japanese?
<abu[7]> (despite my wife is japanese)
<abu[7]> T
<geri> haha
<geri> you can talk to her in japanese then
<geri> most people dont have the privilege
<abu[7]> yes
<abu[7]> but she is *much* better in german
<geri> just curious - do you know any more languages, other than german, japanese and english?
<abu[7]> No (a bit Latin)
<geri> that comes with english for free :D
<abu[7]> T
chexum has quit [Read error: Connection reset by peer]
chexum has joined #picolisp
casaca has quit [Read error: Connection reset by peer]
cpli has quit [Remote host closed the connection]
payphone has quit [Remote host closed the connection]
cpli has joined #picolisp
payphone has joined #picolisp
Iacob has quit [Ping timeout: 268 seconds]
chexum has quit [Ping timeout: 260 seconds]
chexum has joined #picolisp
<geri> btw nerd alert
<geri> or/and arent macros but special fforms B)
<geri> i think you can wrap them in a lambda but that do be ugly compared to just using the syms directly
<abu[7]> Depends on the implementation
<geri> none of impls i know about implement them as macros...
<abu[7]> ok
<abu[7]> should be possible with 'cond', no?
<geri> to do what?
<abu[7]> A macro boiling 'and' or 'or' down to 'cond'
<geri> ah, maybe
<geri> actually what the hell
<geri> COMMON-LISP:AND is a macro, not a function.
<geri> since when XD
<geri> well, nvm
<geri> its a cond
<abu[7]> ok, not important
<geri> and in emacs its a C-level function, hmm
<abu[7]> Like in Pil ☺
<geri> :D
<abu[7]> Cause elisp is also interpreted
<geri> byte compiled, they also added native compilation support recently
<geri> but heres a line from C code
<abu[7]> I see
<geri> DEFUN ("and", Fand, Sand, 0, UNEVALLED, 0, // ...
<geri> so it really looks like a fexp
<abu[7]> T
<geri> idk why but there not being special forms in pil makes me happy
<geri> probably cause consistency
<abu[7]> or simply not needed
<geri> well that too
<geri> but its like simplicity + consistency + it has power of macros in it too
<abu[7]> or because everything is a special form
<geri> or that :D
<geri> when everything is special, nothing is
<geri> dynamic binding had the same issue of being hard to compile efficiently right?
<abu[7]> Exactly
<geri> now it kinda seems to make sense that lisps of old were interpreted and w/ dynamic binding
<abu[7]> Compilinp Lisp is against its spirit
<abu[7]> In the 60s and 70s a language was not taken seriously if it was not compiled
<abu[7]> and perhaps also too slow
bjorkint0sh has joined #picolisp
<geri> you lose some you win some
abu[7] has left #picolisp [#picolisp]
abu[7] has joined #picolisp
<geri> cl is still infinitely better than 99% of "normal" languages
abu[7] has left #picolisp [#picolisp]
<geri> rip
<bjorkint0sh> well there was a serious resource shortage too wasn't there?
bjorkintosh has quit [Ping timeout: 256 seconds]
<bjorkint0sh> and everyone was taught compilers in the first place. the few exceptions being lisp, APL, and BASIC come to mind.
<geri> why the hell is everyone quitting
<geri> xd
abu[7] has joined #picolisp
<geri> the irc chat
<geri> wb abu xd
<abu[7]> Sorry, just unboarding a ship
<abu[7]> now in a bus
<bjorkint0sh> wat? you were on a cruise?
<abu[7]> Yes
<bjorkint0sh> what are you doing on IRC talking to us land lubbers?
<abu[7]> bad network
<abu[7]> ☺
<bjorkint0sh> to the CPU everything is interpreted.
<geri> chilling ☺
<geri> that thoo
<bjorkint0sh> the compilation/interpreter difference is an implementation issue.
<geri> s/thoo/too//
<bjorkint0sh> did you know, that there are C++ interpreters out there?
<geri> i havent seen any in the wild
<geri> and there are python compilers too
<bjorkint0sh> now you have:
<geri> is that a C++ interpreter? 🤔
<geri> ah no
<geri> it comes with one
<bjorkint0sh> yes.
<bjorkint0sh> easy to install too.
<geri> abu[7]: you crashed so ill repeat: you lose some you win some, cl is still infinitely better than 99% of "normal" languages
<abu[7]> True
<abu[7]> a lot!
<geri> a lot better or loses a lot? :D
<abu[7]> better than 99% of "normal" languages
<geri> yeah
<abu[7]> Hard to type here, the bus is shaking
<geri> rest your hands
<abu[7]> ☺
<abu[7]> Need only one finger, but I I
<abu[7]> miss fields
<abu[7]> and the line hanqs often
<geri> that happens...
<geri> phone typing on a bus is never a pleasant experience
<abu[7]> T
<abu[7]> We are in South Bavaria, Starnberger See
<abu[7]> A day trip with friends
<geri> and you still type away at your stenoboard, wow :D
<geri> its slower then penti right?
<geri> like to use
<abu[7]> Yes, a lot slower, mainly because it is not yet in my muscle memory
<geri> 32 key setup took me like 2 weeks to get to 60ish wpm average
<geri> so unless you keep on rearranging the keys you should be fine soon enough
<abu[7]> I hope so
<abu[7]> Getting better and better
<abu[7]> and
<abu[7]> in my age it takes longer
<geri> my key layout, from line 161
<geri> yeah, thats normal
<geri> gotta be patient with yourself
<geri> i still mess my keys up time to time
<abu[7]> The key layout looks like hardcore stuff
<geri> its a pretty ugly file
<geri> but its mostly pretty mneumonic
<geri> main layer is normal qwerty + asdf/jkl; as modifiers, space on right hand is also symbol layer and backspace on left is system keys
<geri> i love that pressing enter is one handed op without moving hands at all, and at the left hand too
<geri> so is escape tab and delete, as well as volume keys
<abu[7]> 👍
<geri> honestly setup i have rn is pretty much perfect in my eyes
<geri> surprisingly it didnt take long to figure out
<geri> how were you using penti on a small phone?
<geri> mine is narrow enough where its hard to fit all my fingers on the screen
<geri> s/small/smaller\/non-foldable/
<abu[7]> I first used a tablet and then a 6.7 inch phone
<abu[7]> Steno works fine on smaul screens
<geri> no neck problems from using a tablet alone or was it typical for you to use an external screen/ssh?
<abu[7]> small*
<abu[7]> No problems :)
<geri> good
<geri> how well do you predict youll be able to type on steno?
<geri> also a pro of steno - easier to use either hand
<geri> or even type with your nose during winters :D
<abu[7]> Right ☺
<abu[7]> or an a watch
<abu[7]> on*
<geri> hmm
<geri> not too small?
<geri> you gotta fit your finger in 9 areas iirc
<abu[7]> No
<abu[7]> you can write outside
<abu[7]> Just the center must be in a field
<geri> hm
<geri> waiting for a video demo
<geri> :D
<abu[7]> ok
<geri> does it hurt to write java?
<abu[7]> Why hurt?
<abu[7]> Steno?
<geri> cause its very inelegant
<abu[7]> Ph
<abu[7]> Ah, yes
<abu[7]> A nightmare indeed
<geri> im only willing to use java if we're talking clojure
<geri> not a fan of boilerplate-driven development B)
<bjorkint0sh> geri: yes. but it pay$$$$
<abu[7]> T
<geri> is it worth the mental anguish though?
<bjorkint0sh> geri: mental anguish is a luxury for those who have a choice!
<bjorkint0sh> like, people who know and use lisp.
<geri> thats the real curse of lisp - after it everything else tastes like shit
<geri> :D
<bjorkint0sh> if you don't know what you do not know, then it is just a normal boiler plate day with a lingering sense of dread.
<bjorkint0sh> if you do know, then it becomes a living nightmare!
<geri> pandora's box has been opened and theres no way to contain the evil anymore
<geri> ive actually edited a java REST api
<geri> it was painful cause schema for accessing items is in a different place from the API endpoint that returns the thing
<geri> one class per file is ew, logic itself was okayish
<geri> well
<geri> enterprise :)
<geri> but yeah, im pretty spoiled by lisps
<geri> but they made me apprieciate javascript a bit more, imagine
<bjorkint0sh> how?
<geri> cause now im pretty good with hof's and lambdas
<geri> appreciating (x) => x was hard before then
<geri> also its literally always available, so if i need a quick calculator its there
<bjorkint0sh> oh you understand the mathematical ideas better.
<geri> eh, id say FP
<bjorkint0sh> where did FP come from?
<geri> i got explained what a maybe monad is today but i still cant figure out what a generic monad is xd
<bjorkint0sh> hint: the 'F' is functional.
<bjorkint0sh> I know what a monadic function is: a function which takes one argument. like sqrt.
<bjorkint0sh> that's all I know.
<geri> hint: you dont need deep mathemetical knowledge to do functional programming
<bjorkint0sh> geri: hint: it doesn't hurt!
<bjorkint0sh> :-D
<bjorkint0sh> /hint
<geri> it hurts to learn
<geri> B)
<bjorkint0sh> only if you want to learn haskell and idris and all that stuff close to category theory.
<bjorkint0sh> but if you just want to make a string upper case, no.
<bjorkint0sh> doesn't matter.
<geri> just (uppc "hello")
<geri> B)
<geri> any recommendations what math concepts may be practically useful to learn?
<bjorkint0sh> geri: depends on what you'd like to do, naturally.
<geri> everything!
<bjorkint0sh> hahaha. you just divided by zero.
<bjorkint0sh> happy now?
<geri> how can i be happy if i dont exist
<geri> ∅
<bjorkint0sh> geri: I can recommend "Introduction to computation: Haskell, Logic and Automata".
<bjorkint0sh> since you mentioned monads.
<geri> lets hope it doesnt make me wanna fork my eyes
<geri> :D
<bjorkint0sh> I kinda wish that book were transcribed in scheme or lisp. maybe i should do that.
<bjorkint0sh> hell, maybe do it in prolog.
<geri> i remember some stream of guy writing a parser in haskell and he had to prove stuff to the compiler
<geri> honestly looked insane
msavoritias has quit [Remote host closed the connection]
pablo_escoberg has joined #picolisp
<pablo_escoberg> just making sure I'm not reinventing the wheel:  Trying to get rainbow parens in vip.  I've looked over the code and it seems the only way to do it is to actually modify the `addLine` function, adding conditions for parens and brackets, and adding formatting therein.  Is that really the best (only) way or is there something I'm missing?
Iacob has joined #picolisp