<no-defun-allowed>
What does the Railway Recruitment Board of Mumbai have to do with Common Lisp?
DaisyNewTownGirl has quit [Quit: Leaving]
rwcom8 has joined #lisp
<jackdaniel>
uh, tool ate
<jackdaniel>
tool ate my debugger*, certainly I didn't want to say "too late"
<no-defun-allowed>
Which tool did you eat?^W^W^W^W^WBummer.
rwcom has quit [Ping timeout: 260 seconds]
rwcom8 is now known as rwcom
u0_a121 has quit [Read error: Connection reset by peer]
u0_a122 has joined #lisp
scymtym has quit [Ping timeout: 260 seconds]
flamebeard has joined #lisp
thecoffemaker has quit [Ping timeout: 265 seconds]
<remexre>
Does anyone know of a Varlink implementation for CL?
<remexre>
googling didn't find anything, sadly
pierpal has joined #lisp
varjag has joined #lisp
* jackdaniel
never heard of such implementation despite doing a research for a graph showing CL implementations a few years ago
<remexre>
er, sorry, an implementation of the varlink protocol* for CL
<beach>
jackdaniel: I think you misunderstood the question. I did too initially.
<remexre>
not a CL implementation named varlink
<jackdaniel>
ah!
<jackdaniel>
well, answer is the same except of the part starting with "despite" :)
stepnem_ has joined #lisp
stepnem has quit [Ping timeout: 265 seconds]
<remexre>
eh, might write an ad-hoc, informally-specified, bug-ridden, slow implementation tomorrow, if none exists :P
<jackdaniel>
I find it funny that I've made that mistake, I'm sure it would not be possible for me outside lisp community -- implementation is more tied to the compiler+runtime than to libraries in my mind
thecoffemaker has joined #lisp
Cymew has joined #lisp
oxum_ has joined #lisp
oxum has quit [Ping timeout: 240 seconds]
elderK has quit [Quit: WeeChat 1.9]
buffergn0me has quit [Ping timeout: 240 seconds]
<remexre>
Lisp is also one of the relatively few languages where "compiler" isn't a sufficient descriptor, and where multiple implementations exist; only non-Lispy non-compiled language I can think of that has no consensus on a "default implementation" is JS
<remexre>
non-exclusively-aot-compiled*, I should say
<beach>
There is no such thing as a "compiled language" or a "non-compiled language". Whether a compiler is used is a characteristic of the implementation, not of the language.
<remexre>
sure, but very few people interpret C++, resp. AoT compile JS
<remexre>
I guess I could rephrase my point more precisely as "among languages I know of, it seems to me that either a language has a single community-standard implementation, or all of its implementations are AoT compilers, and are simply called 'the compiler' rather than 'the implementation' as a result"
<remexre>
"or are either Lisp-family (or Forth-family, now that I think of it)"
fookara has joined #lisp
<remexre>
er, or are JS
Duuqnd has joined #lisp
scymtym has joined #lisp
tramplefoot has joined #lisp
zooey has quit [Ping timeout: 240 seconds]
zooey_ has joined #lisp
karlosz has quit [Quit: karlosz]
v_m_v has joined #lisp
tramplefoot has quit [Quit: Leaving.]
frgo has joined #lisp
georgiePorgie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
shka_ has joined #lisp
DrStephenFalken has joined #lisp
fanta1 has joined #lisp
z147x has joined #lisp
z147x has quit [Client Quit]
wxie has joined #lisp
hhdave has joined #lisp
gxt has quit [Remote host closed the connection]
gxt has joined #lisp
oxum_ has quit [Read error: Connection reset by peer]
oxum has joined #lisp
v_m_v has quit [Remote host closed the connection]
rtra has joined #lisp
hhdave has quit [Ping timeout: 272 seconds]
hhdave has joined #lisp
APic has quit [Ping timeout: 265 seconds]
DrStephenFalken has quit [Remote host closed the connection]
libertyprime has quit [Quit: Lost terminal]
v88m has quit [Ping timeout: 260 seconds]
<p_l>
remexre: varlink is very, very new, and past track record suggests that implementing it from description will be futile
<p_l>
remexre: there's no "standard" implementation for C, C++, Java, Ada, Fortran, Pascals, pretty much all "older" languages
v88m has joined #lisp
v88m has quit [Read error: Connection reset by peer]
rwcom4 has joined #lisp
davepdotorg has joined #lisp
rwcom has quit [Ping timeout: 265 seconds]
rwcom4 is now known as rwcom
<White_Flame>
does perl have a "standard" implementation? it's older than java
amerlyq has joined #lisp
<White_Flame>
another thing about older languages is that hardware was wildly varying. nowadays it's become possible to have a singular environment that generally works the same cross-platform
<p_l>
White_Flame: Perl afaik is implementation-defined like Python and doesn't have other spec
APic has joined #lisp
EvW1 has joined #lisp
<jackdaniel>
perl6 unlike earlier version has started from the specification, that said it is very different language
<White_Flame>
it's also not called perl6 anymore
<White_Flame>
"raku" now instead
v88m has joined #lisp
wxie has quit [Ping timeout: 240 seconds]
georgiePorgie has joined #lisp
wxie has joined #lisp
<Nilby>
Based on the amount of perl I've converted to CL, without understanding perl, I reason that perl implementation doesn't understand perl.
<pjb>
At its core, varlink is simply a JSON-based protocol that can be used to exchange messages over any connection-oriented transport.
<Nilby>
This is one of the reasons I don't use slime for this kind of thing, but maybe if you start gtk first, and then start swank and connect to it?
msk has quit [Remote host closed the connection]
<jmercouris>
Nilby: what do you mean? start SBCL in a terminal, quickload cl-cffi-gtkk, load swank, start a swank server, and then connect slime to it?
<phoe>
yes
<jmercouris>
I guess that is worth a try
<jackdaniel>
Nilby: do you have backdoor in your head? people peek into it to answer instead of you ,)
msk has joined #lisp
<Nilby>
yup
<Nilby>
i'm totally transparent :)
<jmercouris>
that is a most peculiar combination of success
<jmercouris>
so now it does not freeze and *some* of the widgets redraw
<jmercouris>
that is because I'm not on the main thread
<jmercouris>
but nonetheless, strange
<jackdaniel>
M-x slime-connect nilby.org 4005
<decent-username>
If people are already talking about GTK. What's a good library to use for writing GTK-3 GUIs?
<jmercouris>
none, none of them are good
<jackdaniel>
decent-username: cffi!
<decent-username>
thought as much
<jmercouris>
but if you just, cl-cffi-gtk is the one I've had the most luck with
<jackdaniel>
but in all honesty, if I were to write GTK application, I'd do it in C
<jackdaniel>
(and provide some small bindings which are needed for my lisp app via callbacks or whatever)
<decent-username>
I wanted to revisit the Dennis Ritchie and Ken Thompson C book.
<decent-username>
I'll probably start using C again.
<jmercouris>
it depends on the scope of the program
<decent-username>
The issue I'm currently having with CL it's missing libraries. In order to write those libraries I need to really know C.
<decent-username>
The GTK discussion shows, that there's apparently no solid GTK library for CL.
<jmercouris>
OK, so to use SLIME AND get proper widget rendering I've appended: (swank:create-server :port 4006 :dont-close t) to the bottom of my file for convenience, I load it in a terminal, then slime-connect
<jackdaniel>
why do you need to know C to write Common Lisp libraries?
<jmercouris>
You don't need to know C to write Common Lisp libraries, not even ones that utilize CFFI
<jmercouris>
all you need is the API spec for that
<decent-username>
jackdaniel: Because one needs to understand what's going on under the hood, to write good libraries.
<jmercouris>
CFFI is hard to learn since I couldn't find a good tutorial, but technically speaking it is straightforward
<jackdaniel>
decent-username: do you mean that you want to write clones of C libraries? or that you want to write bindings?
<jackdaniel>
because if you write bindings, then you are not writing Common Lisp library but rather a wrapper over C library (meaningful difference)
<decent-username>
The end goal is to do the former.
<jmercouris>
all of this said, now that you know my solution, how can I do this in Emacs to avoid having to spawn a terminal and load SBCL and perform some operations
<jackdaniel>
hm, then I don't think that peeking how C library works will give you much advantage
<jmercouris>
I assume many of you have had to do something similar before
<jackdaniel>
"usual" common lisp library architecture is very different from C
<Nilby>
jmercouris: Your paste worked for me, running it outside of emacs in the main thread. But when I tried it in another thread I got sbcl to SIGABRT, which leads me to believe that it tries to create it's own threads from C libraries.
<jackdaniel>
* from C library
<jmercouris>
Nilby: yes, it does try to make its own threads, it tries to make a GTK main thread
<jmercouris>
Nilby: it is a consequence of cl-cffi-gtk
<jackdaniel>
hence "underhood workings" also will be very different -- unless you want to write C in Common Lisp
<decent-username>
jackdaniel: I for my part want to write a CL game engine as a learning project. But basically all tutorials for these kind of things are in C. I'm not sure if there's an official OpenGL API for CL.
<decent-username>
jmercouris: I've already joined #lispgames like two years ago.
<decent-username>
But university forces me to always take long breaks.
<jackdaniel>
cl-opengl gives you bindings, but yes, shared objects which export the api exhibit C ABI
<jmercouris>
I think the real statement is this: a lot of the world runs on C or CFFI, in order to be effective you should know C
<jmercouris>
because you will want to leverage existing libraries to avoid having to write everything down to assembler
<decent-username>
jmercouris: Basically
<jackdaniel>
this statement is not very compelling, and the assembler remark is plain inadequate, why would you want to write everything down to assembly? doesn't CL implementations compile things to assembly?
<decent-username>
In 2 years there will be an awesome GTK library I wrote. *cough cough*
<jmercouris>
I think you know I was exaggerating to make a point
<decent-username>
or maybe another trashy one
<jackdaniel>
making a point with false premises is intellectually flawed
<jmercouris>
for example, I'm using CFFI for Next, because writing a web engine that meets modern web standards and performance would take me tens of thousands of man-hours
<jmercouris>
it is intellectually flawed, but this is a casual conversation, not an academic debate :-D
<jackdaniel>
I thought you've said that you need to know C
<jmercouris>
You don't *need* to know it, for sure, but it really helps a lot
<jackdaniel>
even in casual conversations you should aim at not being incorrect or dishonest
<jmercouris>
I was saying to write CFFI wrappers you don't really need to know C
<jmercouris>
and I also said to be effective you should probably know C too
<decent-username>
Does someone of you have a roadmap for someone who sees that there aren't any good GTK libaries for CL, and who wants to write a good one.
<decent-username>
Because I'm rather new to computer Science (3years).
<jackdaniel>
gtk wrapper you mean? qt is less messy and gtk breaks its api every year or two
<jmercouris>
Please reach out to Ferada on GitHub
<decent-username>
jackdaniel: But QT is slooooooooooooooooooooooooooooooooooooooooooooooow.
<decent-username>
It's a memory eating monster as well.
<jmercouris>
Qt is not slow, the implementation of the renderer on your port may be slow, and on every port, but Qt itself, no not slow ;-)
<jackdaniel>
you need to back up this statement with benchmarks, because its memory footprint is very small lately, and I don't remember it being slow
<jmercouris>
Run it on macOS, and you will see that it is slow
<jmercouris>
rendering specifically
<jmercouris>
I think it is using openGL or so, I can't remember
<jmercouris>
in any case, not using native cocoa frameworks, causes latency issues
<decent-username>
jackdaniel: The main reason I prefer GTK over QT, is that GTK feels more native to UNIX-like OSs. Themes are automatically inherited and other things like that.
<decent-username>
Using QT programs on a GTK based desktop environment is annoying.
<jmercouris>
This feels a little bit off-topic now, let's please not discuss the merits of Qt vs GTK
<decent-username>
alright
<decent-username>
I've learned that the current state of graphics toolkits is ass.
<decent-username>
ahahaha
cosimone has joined #lisp
lucasb has joined #lisp
EvW has joined #lisp
dddddd has joined #lisp
wxie has joined #lisp
bitmapper has joined #lisp
<Nilby>
jmecouris: Your little paste creates 10 threads on my system.
<jmercouris>
Nilby: that's hilarious :-)
<jmercouris>
so I ended up making a simple file, then I open up eshell sbcl --load my-loading-file.lisp which loads cl-cffi-gtk on the correct thread, then I slime connect, etc
<jmercouris>
I'm sure I could make an elisp function to do this, maybe I will in a little bit
<Nilby>
But it seems to work consistently not under slime. I think there's probably a way to get slime to run it in the main thread.
<jmercouris>
Nilby: there is probably a way
<decent-username>
jmercouris: I've just downloaded Next. I had it bookmarked from a year ago or so. I've wanted to change my setup to GNU GuixSD + StumpWM. I might also change my default browser while I'm at it.
<jmercouris>
decent-username: Nice! Enjoy :-)
<jmercouris>
Nilby: quickloading on the main thread is not the answer though, and neither is modifying swank init to use fd-handler
<jmercouris>
unless I did something wrong when I attempted to quickload on the main thread
aindilis has quit [Ping timeout: 268 seconds]
Duuqnd has quit [Ping timeout: 240 seconds]
prince1 has joined #lisp
_paul0 has joined #lisp
<Nilby>
It doesn't create threads when loading this example, only after calling (start). Also since swank uses a socket, if I remember correctly gtk usually needs you to register sockets with it to work. But then it probably won't know how to hand off to slime.
<jmercouris>
sbcl --load file.lisp, then (trivial-main-thread::call-in-main-thread #'gtk-tutorial::start)
<jmercouris>
then try the same thing, by starting slime and just loading that file with C-c C-l
<jmercouris>
and you'll see that it works in the first case, but not in the second
prince1 has quit [Ping timeout: 240 seconds]
X-Scale has quit [Ping timeout: 240 seconds]
<jmercouris>
In the first example, I forgot to mention that you slime-connect to localhost:4006 before running the trivial-main-thread code
<Nilby>
Maybe one would want it to work like emacs works with gtk, by having it's own event loop and handing off some events to gtk.
<jmercouris>
yeah, that is how it is usually done with this library there is a (within-main-loop) macro that does that
<Nilby>
Ah, I see.
X-Scale` has joined #lisp
<jmercouris>
however, I cannot use that, as it breaks rendering for some special widgets on macOS (as we discussed earlier)
<Nilby>
Right.
X-Scale` is now known as X-Scale
Necktwi has quit [Read error: Connection reset by peer]
Necktwi has joined #lisp
gareppa has joined #lisp
oxum_ has joined #lisp
oxum_ has quit [Remote host closed the connection]
oxum has quit [Ping timeout: 240 seconds]
msk has quit [Remote host closed the connection]
msk has joined #lisp
pierpal has joined #lisp
jmercouris has quit [Ping timeout: 268 seconds]
oxum has joined #lisp
georgiePorgie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ebrasca has joined #lisp
wxie has quit [Ping timeout: 240 seconds]
oxum has quit [Ping timeout: 240 seconds]
grewal has quit [Ping timeout: 240 seconds]
gareppa has quit [Quit: Leaving]
georgiePorgie has joined #lisp
LiamH has joined #lisp
grewal has joined #lisp
<Xach>
it looks like cl-dbi recently dropped its use of cl-syntax (which is nice) but it does break dbd-oracle
<Xach>
cl-syntax is the thing that prompted people to use @export (defun foo ...) rather than putting exports in defpackage
Snow-Man has joined #lisp
<Xach>
i prefer defpackage to @export so you win some, you lose some
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #lisp
<beach>
minion: memo for jmercouris: Yes, the code for first-class global environments is written in entirely portable Common Lisp. But, of course, compilers of existing Common Lisp implementations don't use them, so you need a Cleavir-based compiler for that.
<minion>
Remembered. I'll tell jmercouris when he/she/it next speaks.
jmercouris has joined #lisp
DrStephenFalken has joined #lisp
Inline has joined #lisp
<beach>
jmercouris: Heh, I just had minion remember a memo for you.
<jmercouris>
oh
<minion>
jmercouris, memo from beach: Yes, the code for first-class global environments is written in entirely portable Common Lisp. But, of course, compilers of existing Common Lisp implementations don't use them, so you need a Cleavir-based compiler for that.
oxum has joined #lisp
<jmercouris>
there it is :-)
<jmercouris>
beach: and Cleavir is also portable
<jmercouris>
so basically you have to run SICL?
<jmercouris>
is SICL just a technology demonstrator, or do you eventually plan to make it a complete implementation that one can download and use?
<beach>
Yes, Cleavir is "portable", but it is not easily "retargetable".
<beach>
That is, it can run in any Common Lisp implementation that also has a MOP library.
<beach>
But currently, it only generates code for Clasp or SICL.
<jmercouris>
oh I see
<beach>
I am working on making SICL a complete implementation.
<jmercouris>
that'll be really cool
<beach>
I have been busy with ELS submissions, but otherwise, I am working on code generation.
<jmercouris>
what percentage of the way is the task complete would you estimate? (making SICL a complete implementation)
<beach>
I don't think there is much left in order to make it work, but then there is a lot of work left to make it fast.
<jmercouris>
I see, that's the hard part
<beach>
Not really. Just tedious.
<jmercouris>
tedious for me = hard
<beach>
I see.
msk has quit [Remote host closed the connection]
<jmercouris>
as in, I can't motivate myself to do any tedious work
<beach>
I am secretly hoping that, once I have an executable, I will get a bit more help with the tedious work.
<jmercouris>
one of my main drives to be a programmer
msk has joined #lisp
<jmercouris>
you probably will
<jmercouris>
when people can easily hack on it, the community will grow
<beach>
We will see.
<jmercouris>
time always tells the truth
dale_ has joined #lisp
dale_ is now known as dale
<beach>
Sure. I need to call my niece. If you want more information, we hang out in #sicl.
<jmercouris>
OK
pierpal has quit [Ping timeout: 260 seconds]
frodef has quit [Ping timeout: 260 seconds]
georgiePorgie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<ebrasca>
I don't undestand why SICL?
<jackdaniel>
ebrasca: do you mean why the name is "sicl"? afair beach said that there is no particular reason and it is not an acronym of anything (except of the CL suffix of course)
<ebrasca>
Why new CL implementation.
<decent-username>
"Super Ifficient Common Lisp"
Posterdati has quit [Read error: Connection reset by peer]
<jackdaniel>
ebrasca: my answer would be "why not?". that said sicl is implemented from scratch in full Common Lisp - luxury other implementations did not have - they have grown from previous lisp incarnations or are bootstrapped from other languages
Posterdati has joined #lisp
<ebrasca>
Do SICL have some LAP to steal from?
JohnMS_WORK has quit [Read error: Connection reset by peer]
<jackdaniel>
and using full Common Lisp instead of i.e subset gives you cleaner code; moreover some hardware characteristics has changed and they are taken into account when it is designed
<jackdaniel>
LAP?
<ebrasca>
LAP = lisp assembly program.
<jackdaniel>
afaik sicl project has its own assembly emitter, I don't remember its name. I'd suspect that it is up to the cleavir's lir implementer to use it or to use some custom "LAP"
<jackdaniel>
i.e clasp hooks llvm ir there
amerlyq has quit [Quit: amerlyq]
Lord_of_Life has quit [Ping timeout: 272 seconds]
Lord_of_Life has joined #lisp
frgo has quit [Remote host closed the connection]
frgo has joined #lisp
pierpal has joined #lisp
joast has joined #lisp
frgo has quit [Ping timeout: 240 seconds]
oxum has quit [Ping timeout: 260 seconds]
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.2)]
DGASAU has quit [Read error: Connection reset by peer]
DGASAU has joined #lisp
frgo has joined #lisp
DGASAU has quit [Read error: Connection reset by peer]
DGASAU has joined #lisp
prince1 has joined #lisp
dsp- has quit [Ping timeout: 240 seconds]
frgo has quit [Ping timeout: 268 seconds]
Cymew has quit [Ping timeout: 240 seconds]
jmercouris has quit [Remote host closed the connection]
prince1 has quit [Ping timeout: 265 seconds]
rippa has joined #lisp
efm has quit [Read error: Connection reset by peer]
<beach>
ebrasca: I don't think it is appropriate for me to pollute #sicl with yet another series of utterances about why I started the SICL project. If you really want to know, join #sicl.
<beach>
The assembler that SICL uses is called Cluster, and it is a separate repository. You will likely be disappointed by it, because it does not have a surface syntax, since it is meant as a backend for compilers.
<beach>
If you were to write an assembly program for it, it would look like (list (make-instance 'instruction :mnemonic "MOV" :operands ...) (make-instance 'instruction :mnemonic "ADD" :operands ...))
<jackdaniel>
did you mean "pollute #lisp"?
<beach>
Oops, yes.
<beach>
Sorry! *blush*
smazga has joined #lisp
<pjb>
Wouldn't it be trivial for a lisper to write: (defun assemble (instruction) (apply (function make-instance) 'instruction :mnemonic (symbol-name (car instruction)) :operands (mapcar (function assemble-operand) (cdr instruction)))) ?
<pjb>
Don't excluse yourself, you've done more than enough. Thanks!
<beach>
pjb: That is exactly my point, yes.
efm_ has joined #lisp
efm_ has quit [Remote host closed the connection]
efm_ has joined #lisp
<beach>
So rather than imposing a syntax on the user, and syntax seems to be what everyone can disagree upon, I allow for whatever surface syntax you want.
<pjb>
Exactly.
<pjb>
Good design.
efm_ has quit [Client Quit]
<beach>
Thank you.
efm_ has joined #lisp
efm_ has quit [Client Quit]
u0_a122 has quit [Read error: Connection reset by peer]
efm has joined #lisp
efm has joined #lisp
oxum has joined #lisp
ljavorsk has quit [Ping timeout: 268 seconds]
msk has quit [Remote host closed the connection]
msk has joined #lisp
<beach>
ebrasca: I guess I can say one unique thing, which jackdaniel already hinted. SICL is the first implementation I know of that is written entirely using the full Common Lisp language.
ebrasca has quit [Read error: Connection reset by peer]
<beach>
Even an implementation such as SBCL (with very little code in any other language) can not use the full language for certain modules, in particular the compiler. The SICL bootstrapping technique is unique, and allows me to use the full language for every module.
ebrasca has joined #lisp
<pfdietz>
The SBCL type system implementation has some hairy code that would benefit greatly from being able to use CL's full object system.
<beach>
I can very well believe that.
ebrasca has quit [Read error: Connection reset by peer]
frgo has joined #lisp
ebrasca has joined #lisp
frgo has quit [Ping timeout: 240 seconds]
gko_ has quit [Ping timeout: 240 seconds]
frgo has joined #lisp
pierpal has quit [Ping timeout: 268 seconds]
cosimone has quit [Remote host closed the connection]
rwcom2 has joined #lisp
cosimone has joined #lisp
rwcom has quit [Ping timeout: 272 seconds]
rwcom2 is now known as rwcom
flamebeard has quit []
mfiano2 has quit [Remote host closed the connection]
mfiano2 has joined #lisp
EvW has quit [Ping timeout: 246 seconds]
<|Pirx|>
I'm playing with hunchentoot, I want it to handle all requests with the same function (looking up uris in a hash table and returning a fixed string), not maintaining a list of handlers, not serving files, what would be a good way to do that?
<|Pirx|>
define-easy-handler use a handlers list, depending on uris, but I want the same functions for everything
oxum has quit [Ping timeout: 265 seconds]
<_death>
you want to create a dispatcher
mfiano2 has quit [Remote host closed the connection]
mfiano2 has joined #lisp
mfiano2 has quit [Read error: Connection reset by peer]
<|Pirx|>
the dispatcher is single thread I guess...
<alandipert>
i've been plugging away at it for over a year though, with no signs of stopping. looking forward to collaborating on it with people after it reaches a certain point
<Xach>
alandipert: glad to see some review of jscl, which is what immediately sprang to mind for me
<alandipert>
the way it supports multiple values is especially clever, i will probably end up with a similar approach
<_death>
hmm, disconnected so don't know if this went through.. I guess one question would be, what is the rationale for creating something new from scratch instead of improving an existing implementation
Inline has quit [Ping timeout: 246 seconds]
<vms14>
_death: isn't the lisper philosophy to write your own stuff?
<vms14>
aren't lispers the kind of people who likes to write their own tools?
<vms14>
like*
<alandipert>
_death i struggle with this, but decided ultimately that the jscl project goal was not in alignment with my own. and so i couldn't expect other users to want to collaborate on a rewrite
<vms14>
alandipert: I'd like to see a nice lisp interpreter written in js for the browser
<alandipert>
vms14 look at SLip
<vms14>
like fengari.io did for Lua
<alandipert>
it's mindblowing
<_death>
alandipert: ok, but maybe such an explanation belongs in the paper
<dlowe>
it's not the lisper philosophy it's the hobbiest philosophy
<vms14>
alandipert: I was looking at that, and biwascheme or alike
<dlowe>
*hobbyist
<vms14>
dlowe: what's the lisp philosophy by the way?
<dlowe>
vms14: "lisp is kinda cool"
<vms14>
xD
<alandipert>
_death thank you for reading, i will consider this
<dlowe>
it unifies all lispers
<vms14>
right, I've never seen any "language fan" talk so high like lispers do with lisp
<vms14>
this is why I came to lisp
<vms14>
I wanted to check by myself if they were right, and they were
buffergn0me has quit [Ping timeout: 245 seconds]
<vms14>
still I'm not able to explain to the people how lisp is so cool
<vms14>
they just blame and stick to their languages
<dlowe>
well you need to show them via amazing code that you wrote
<dlowe>
just telling them isn't going to do anything
rtra has joined #lisp
* vms14
looks at his code and cries
<dlowe>
not the actual code
<dlowe>
the results of the code
<_death>
alandipert: may want to fix the sentence containing the word "potential"
<dlowe>
and when you show them the amazing frob you made, they'll say yeah but I made a better frob using import frob and then extending it
wsinatra has joined #lisp
jonatack has quit [Ping timeout: 260 seconds]
<_death>
may not be the most amazing frob, but it's my frob
rtra has quit [Ping timeout: 268 seconds]
<vms14>
the only stuff I've achieved with lisp was yet another html generator with code able to make you cry and some clx windows using xshape so they're characters moving on the screen
rtra has joined #lisp
jonatack has joined #lisp
<_death>
I recently spent two days in javascript land :/
<Odin->
Oi, now there's a scary place.
buffergn0me has joined #lisp
<_death>
to hack a frontend to demonstrate some of my recent CL code to others
<alandipert>
_death a SPA type thing? or were you doing electron stuff? or something different
<_death>
alandipert: I usually avoid anything that requires javascript (my main browser has js disabled by default).. but for this it was kind of needed so I went all out
<dlowe>
the only reasonable choices are to enjoy lisp by yourself (and the very intelligent and good looking lispers on IRC) or use whatever the people around you are using
<_death>
(the HIRE one is very early work in progress, so don't take it too seriously :)
<_death>
although this week I'm working on influence diagrams
<alandipert>
how did you find yourself propagating effects in response to clicks? in a past life i've taken a Cells type approach, albeit from clojurescript
<_death>
alandipert: the probability propagation is made on the server.. if you mean the UI, it's react
<alandipert>
_death gotcha. so you are receiving full graphs from the server, and react is relegating them with the local UI state it sounds like?
<_death>
alandipert: currently probability propagation happens using a junction tree.. before that, I used variable elimination to query for each node.. also implemented pearl's belief propagation (extended for polytrees), and approximate approaches such as likelihood weighting
<_death>
alandipert: yes
<_death>
I also implemented several BN structure/parameter learning algorithms.. and before that hidden markov model, bayesian classifiers, etc. basically I'm reading a book about probabilistic graphical models and implementing most of what it talks about
nadare has joined #lisp
<_death>
all in the same file :)
<alandipert>
_death i'm a lowly UI dev but reading books and writing stuff rocks
<_death>
-rw-r--r-- 1 death users 225373 2020-02-12 17:32 pgm-book.lisp
efm has quit [Ping timeout: 240 seconds]
jonatack has quit [Quit: jonatack]
jonatack has joined #lisp
efm has joined #lisp
<Nilby>
alandipert: You are the exhalted author of gherkin!
<_death>
alandipert: it takes a while to read a book that way.. and also, it's intertwined with many papers ;)
<alandipert>
Nilby i'm humbled you're familiar with it :-) working on that was ridiculously fun
orivej has quit [Ping timeout: 265 seconds]
<Nilby>
I had a similar complusion of writing in bash at one time.
rwcom0 has joined #lisp
rwcom has quit [Ping timeout: 268 seconds]
rwcom0 is now known as rwcom
Inline has joined #lisp
rtra has quit [Ping timeout: 260 seconds]
<vms14>
alandipert: I went again to see slip, and I'm being amazed for this guy
<vms14>
he wrote not only slip, but also ymacs and dynarchlib
<alandipert>
vms14 yeah. it's an amazing and inspiring effort, especially for a solo dev
<alandipert>
vms14 as far as i'm concerned, it it were possible to "win" at the reading of PAIP, the creator of SLip has won
<vms14>
why? I've never read more than the first pages of PAIP
<vms14>
(I would be the one who looses) xD
orivej has joined #lisp
pierpal has joined #lisp
<alandipert>
vms14 oh, just because he started with the compiler and bytecode interpreter in PAIP and ended up with a lisp system with cooperative multitasking and an emacs clone
wsinatra has quit [Quit: WeeChat 2.7]
pierpal has quit [Read error: Connection reset by peer]
<Nilby>
That screencast of SLip and Ymacs is pretty awesome.
sauvin has quit [Read error: Connection reset by peer]
ebzzry has joined #lisp
<vms14>
alandipert: xD
<alandipert>
Nilby i know! epic!
<vms14>
Nilby: yes, but the documentation sucks
<vms14>
well, it's lisper style documentation
<vms14>
"here's the source code, get fun"
msk has quit [Remote host closed the connection]
<vms14>
have*
msk has joined #lisp
<ebrasca>
vms14: Do you make good documentation?
<vms14>
ebrasca: I don't even make documentation
<Nilby>
I just took it as entertainment. What I actually want to use is the other way around, the browswer inside emacs inside CL.
<ebrasca>
vms14: Then why you complain about documentation?
<vms14>
I want to use slip, idk why but I want a js interpreter instead of a transpiler
<vms14>
ebrasca: because I'm not able to find how to start playing withthat, more than with the turtle library
wsinatra has joined #lisp
<ebrasca>
turtle library , sound interesting
wsinatra is now known as kwirc
smokeink has quit [Ping timeout: 265 seconds]
kwirc is now known as wsinatra
<vms14>
ebrasca: it's a "cursor" that goes drawing lines when it moves, just take a look at the slip site
<vms14>
which is weird because this guy was a perl hacker
wsinatra has joined #lisp
jeosol has joined #lisp
nadare has quit [Quit: nadare]
cosimone has quit [Quit: Terminated!]
<ebrasca>
I don't know how to write documentation.
<ebrasca>
vms14: What about dowstrings?
prince1 has joined #lisp
<vms14>
docstrings talk about what a function does, write documententation is a thing we usually don't want to do, specially if we don't know how many people would use that
<vms14>
and also we tend to think that like we understand our own code, they will too
<vms14>
but documentation is an important factor for succesful software
<vms14>
anyway I suppose lispers are used to look at the code and track what the heck the software is doing
fanta1 has quit [Quit: fanta1]
<_death>
M-. is useful
<vms14>
for example the clx documentation assumes you know how to use xlib
prince1 has quit [Ping timeout: 272 seconds]
chipolux has quit [Ping timeout: 268 seconds]
<vms14>
and it's just a reference manual
chipolux has joined #lisp
buffergn0me has quit [Ping timeout: 248 seconds]
frodef has joined #lisp
buffergn0me has joined #lisp
wsinatra has quit [Quit: WeeChat 2.7]
wsinatra has joined #lisp
narimiran has quit [Ping timeout: 265 seconds]
wsinatra has quit [Quit: WeeChat 2.7]
gravicappa has quit [Ping timeout: 268 seconds]
wsinatra has joined #lisp
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
pierpal has joined #lisp
cosimone has joined #lisp
buffergn0me has quit [Ping timeout: 260 seconds]
Nilby has quit [Read error: Connection reset by peer]
msk has quit [Remote host closed the connection]
msk has joined #lisp
Nilby has joined #lisp
glaw has joined #lisp
|Pirx_off| is now known as |Pirx|
bitmapper has quit [Ping timeout: 260 seconds]
glaw is now known as glaw2
|Pirx| is now known as |Pirx_off|
glaw2 has quit [Quit: glaw2]
u0_a121 has joined #lisp
varjag has joined #lisp
wsinatra has quit [Quit: WeeChat 2.7]
madage has quit [Remote host closed the connection]
u0_a121 has quit [Read error: Connection reset by peer]
Jesin has quit [Quit: Leaving]
dyelar has quit [Quit: Leaving.]
Jesin has joined #lisp
z147 has joined #lisp
wsinatra has joined #lisp
fookara has quit [Remote host closed the connection]
madage has joined #lisp
bitmapper has joined #lisp
dyelar has joined #lisp
Codaraxis has joined #lisp
scymtym has quit [Ping timeout: 240 seconds]
wsinatra has quit [Quit: WeeChat 2.7]
wsinatra has joined #lisp
karstensrage has joined #lisp
vms14 has quit [Remote host closed the connection]
scymtym has joined #lisp
whiteline has quit [Remote host closed the connection]
whiteline has joined #lisp
jeosol has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
nowhere_man has joined #lisp
CrazyPython has joined #lisp
<Xach>
A long time ago I bought a book about X, and it mentioned that some limits are what they are to accomodate Common Lisp tagged integers.
<Xach>
This was before I knew anything about CL.
wsinatra has quit [Quit: WeeChat 2.7]
<Nilby>
Also it has a concept of ATOM and INTERN.
EvW has joined #lisp
<jfb4>
Xach: what are tagged integers?
<Nilby>
I think CLX was developed at least in parallel with Xlib or maybe before?
<no-defun-allowed>
Basically they allow a fixnum to be represented in one word without heap memory by jamming the fixnum in the pointer with a different bit pattern to actual pointers.
CrazyPython has quit [Read error: Connection reset by peer]
karlosz has joined #lisp
hiroaki has joined #lisp
msk has quit [Remote host closed the connection]
msk has joined #lisp
davr0s has joined #lisp
rtra has joined #lisp
rjnw has joined #lisp
pfdietz has quit [Remote host closed the connection]
cjb has joined #lisp
pierpal has quit [Quit: Poof]
pierpal has joined #lisp
rumbler31 has quit [Read error: Connection reset by peer]
rumbler3_ has joined #lisp
jonh has joined #lisp
seok has quit [Remote host closed the connection]
decent-username has quit [Ping timeout: 272 seconds]
hhdave has joined #lisp
rjnw has quit [Quit: Lost terminal]
rjnw has joined #lisp
rjnw is now known as rjnw_
rjnw_ is now known as _rjnw_
hhdave has quit [Ping timeout: 240 seconds]
iamFIREcracker has joined #lisp
_rjnw_ is now known as rjnw
varjag has quit [Quit: ERC (IRC client for Emacs 26.1)]
rjnw has quit [Quit: leaving]
|Pirx_off| is now known as |Pirx|
rjnw has joined #lisp
iamFIREcracker has quit [Ping timeout: 260 seconds]
Inline has quit [Quit: Leaving]
|Pirx| is now known as |Pirx_zzz|
CrazyPython has joined #lisp
CrazyPython has quit [Ping timeout: 265 seconds]
jeosol has joined #lisp
LiamH has quit [Quit: Leaving.]
pierpal has quit [Ping timeout: 272 seconds]
CrazyPython has joined #lisp
CrazyPython has quit [Read error: Connection reset by peer]
z147x has joined #lisp
z147 has quit [Ping timeout: 240 seconds]
msk has quit [Remote host closed the connection]
msk has joined #lisp
hiroaki has quit [Ping timeout: 265 seconds]
z147d has joined #lisp
|Pirx_zzz| is now known as |Pirx|
z147x has quit [Ping timeout: 240 seconds]
<Xach>
jfb4: it's using a few bits in a word to have immediate (rather than boxed) integers
<Xach>
jfb4: so some 32-bit-ish things in the X protocol are 29 bits instead
<Xach>
this was a bigger deal in 32 bits than 64 bits
<Xach>
still a deal, just not quite as big
lucasb has quit [Quit: Connection closed for inactivity]