<Bike>
okay, like, wait. can you explain what you want to accomplish here in more detail?
sabrac has quit [Remote host closed the connection]
<Bike>
you want to define a make-dialog operator? that does what?
kmeow has joined #lisp
manicennu is now known as manicennui
bitmapper has quit [Ping timeout: 265 seconds]
<no-defun-allowed>
Silly question, has anyone written code before to randomly select a value where each value has a weight?
<Bike>
i don't have it lying around, but sure
<Bike>
have a table of (weight . value), generate a number in [0, sum of the weights), iterate over the table. might be a cleverer way to do it
wxie has joined #lisp
<no-defun-allowed>
Gotcha.
<no-defun-allowed>
I'll have to check if that could be slow for a large set of values (picking positions in an image).
<Bike>
like for ((a 1) (b 2) (c 1)) you generate (random 4), and then if it's < 1 return a, if < 3 return b, else return c
* no-defun-allowed
nods
<loke>
no-defun-allowed: You should be able to do it in O(1) memory and O(n) time.
<loke>
(single pass)
<no-defun-allowed>
Maybe I can make some kind of decision tree to take it from O(n) comparisons to O(log n) comparisons (ignoring that I have to build the tree); but I would probably remove the positions from the set.
<Bike>
for some distributions it should be easier
<Bike>
like if it's normal you can use the box-muller transform, i think
<Bike>
oh, yeah you could do a binary tree probably
<no-defun-allowed>
Yeah, I don't think this is one, since I intend to pick random pixels, but picking more pixels around edges.
<no-defun-allowed>
Most images sadly are not nice distributions.
<Bike>
oh hey there's a word for this, 'inverse transform sampling'. i had no idea
<no-defun-allowed>
Nice.
<no-defun-allowed>
Eh, that table should work well enough. I won't need to use it too frequently. Thanks Bike.
<Bike>
no prob
megalography has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
<LdBeth>
how to specify in defsystem to instruct ASDF run certain functions after the system has been loaded
slyrus_ has quit [Ping timeout: 265 seconds]
<loke>
LdBeth: :perform (load-op :after (o c) (do-whataver))
megalography has left #lisp [#lisp]
wxie has quit [Ping timeout: 268 seconds]
karlosz has joined #lisp
georgiePorgie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ebzzry has joined #lisp
ebzzry has quit [Read error: Connection reset by peer]
impulse has joined #lisp
quazimodo has quit [Ping timeout: 265 seconds]
quazimodo has joined #lisp
oxum has quit [Read error: Connection reset by peer]
koppe has joined #lisp
papachan has quit [Ping timeout: 265 seconds]
ebzzry has joined #lisp
zmt01 has joined #lisp
zmt00 has quit [Ping timeout: 260 seconds]
shifty has joined #lisp
gnufr33d0m has quit [Quit: gnufr33d0m]
oxum_ has joined #lisp
oxum has joined #lisp
oxum_ has quit [Ping timeout: 265 seconds]
Bike has quit [Quit: Lost terminal]
akoana has left #lisp ["Leaving"]
torbo has quit [Remote host closed the connection]
pjb` has joined #lisp
ggole has joined #lisp
pjb` has quit [Quit: renaming]
pjb has joined #lisp
gnufr33d0m has joined #lisp
ebzzry has quit [Ping timeout: 260 seconds]
slyrus has joined #lisp
manicennui has quit [Quit: Connection closed for inactivity]
gravicappa has joined #lisp
orivej has joined #lisp
georgiePorgie has joined #lisp
<LdBeth>
loke: thanks
kmeow has quit [Ping timeout: 248 seconds]
xristos has quit [Ping timeout: 245 seconds]
<beach>
Good morning everyone!
<Josh_2>
Morning beach
xristos has joined #lisp
xristos is now known as Guest28168
slyrus has quit [Quit: Leaving]
<ebrasca>
Morning beach , Josh_2 !
gnufr33d0m has quit [Quit: gnufr33d0m]
<LdBeth>
hello
brandelune has joined #lisp
brandelune has quit [Client Quit]
vlatkoB has joined #lisp
Oladon has quit [Quit: Leaving.]
ebrasca has quit [Remote host closed the connection]
brandelune has joined #lisp
narimiran has joined #lisp
brown121408 has quit [Ping timeout: 265 seconds]
brown121407 has joined #lisp
Khisanth has quit [Ping timeout: 240 seconds]
oxum_ has joined #lisp
oxum has quit [Read error: Connection reset by peer]
oxum_ has quit [Remote host closed the connection]
brown121407 has quit [Remote host closed the connection]
oxum has joined #lisp
brown121407 has joined #lisp
Khisanth has joined #lisp
oxum_ has joined #lisp
oxum_ has quit [Remote host closed the connection]
abc123abc has joined #lisp
oxum has quit [Remote host closed the connection]
oxum_ has joined #lisp
madrik has quit [Ping timeout: 240 seconds]
<abc123abc>
/
abc123abc has quit [Client Quit]
shangul has joined #lisp
amerlyq has joined #lisp
brandelune has quit [Ping timeout: 265 seconds]
georgiePorgie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
shangul has quit [Ping timeout: 240 seconds]
brandelune has joined #lisp
frgo has quit [Ping timeout: 265 seconds]
ArthurStrong has joined #lisp
_whitelogger has joined #lisp
oxum_ has quit [Remote host closed the connection]
oxum has joined #lisp
dale has quit [Quit: My computer has gone to sleep]
oxum has quit [Remote host closed the connection]
shangul has joined #lisp
milanj has joined #lisp
frgo has joined #lisp
oxum has joined #lisp
oxum has quit [Remote host closed the connection]
oxum has joined #lisp
oxum has quit [Remote host closed the connection]
oxum has joined #lisp
elderK has joined #lisp
impulse has quit [Ping timeout: 260 seconds]
<elderK>
Hey guys, what's a good way of comparing symbols?
<elderK>
I ask because I'm writing a small interpreter (currently studying Lisp in Small Pieces.)
<elderK>
I'm having trouble because the symols in the lists that I'm trying to interpret, aren't the "same" as the ones the interpreter is comparing against, because I have a package for my interpreter.
oxum_ has joined #lisp
oxum has quit [Read error: Connection reset by peer]
<elderK>
I was thinking of interning all the input symbols in the keyword package, and matching against them.
<no-defun-allowed>
You could use STRING= to compare their names.
<no-defun-allowed>
That may cause unsavoury things with uninterned symbols though; I would try to read the symbols in the interpreter's package.
<elderK>
no-defun-allowed: The thing is, I'm just handing the sexps to interpret to the function.
<elderK>
Say, k:interpret
<Shinmera>
you can just create a new package for your interpreter's runtime, import the relevant symbols from your intepreter there, and intern there as you read code.
<Shinmera>
then you can compare them with EQ
<White_Flame>
right, just like COMMON-LISP has all the language definitions in there, and COMMON-LISP-USER (CL-USER) imports CL but also is where your user code defaults to, without muddling up the core CL package
<White_Flame>
well, :USEs, not imports, as it's the package as a whole
<Shinmera>
same difference since the symbols in CL are fixed.
v_m_v has joined #lisp
<White_Flame>
so from within CL-USER, reading "FIND" will reference the symbol CL:FIND, while reading "FOO" will reference (or create) the symbol CL-USER::FOO
<elderK>
Thanks guys.
<White_Flame>
so even though you're not in the CL package, any symbols from CL will be EQ comparable with the CL symbols
dddddd has quit [Remote host closed the connection]
<elderK>
Problem is, my symbols are the ones for Scheme.
<White_Flame>
right, you have for example ELDERK-SCHEME:DEFINE.
<White_Flame>
but you're in the INTERPRETER package, for instance
<elderK>
White_Flame: How do I define the symbols in that package ahead of time?
<no-defun-allowed>
Why do you need the let/lambda/funcall in LAPIZ? I believe that should all be unnecessary.
<pjb>
asarch: there is no new object.
<asarch>
The three steps would go in a (defun make-tacos () ...) function so I could just (let ((cerveza (make-tacos))) ...)
<no-defun-allowed>
And why can't you just (make-instance 'point :x 9 :y 8 :z 7)?
<pjb>
asarch: dummy is useless in your code.
<pjb>
You can write: (setf (x p) 10 (y p) 12 (z p) 33) (better with newlines).
<no-defun-allowed>
You need exactly one step, which is to create an object with the right initargs.
<pjb>
asarch: you may also use :initarg and do all in one call: (make-instance 'point :x 10 :y 12 :z 33)
<pjb>
(defclass point () ((x :initarg :x :accessor x) (y :initarg :y :accessor y) (z :initarg :z :accessor z)))
<asarch>
no-defun-allowed, because the real code for this operation would be something like ((widget :initform (gtk-builder-get-object (gtk-builder-set-from-file (make-instance 'gtk-builder) "dialog.glade") "dialog")...)
<asarch>
And the dialog has about ~20 different widgets :-(
<pjb>
asarch: otherwise, your code is perfectly correct, in that it prints: Values: (9, 8, 7)
<asarch>
YES!!! \o/
<pjb>
asarch: you can still use :initarg when you have a lot of things to put in it.
<asarch>
In the real code, I need something like (let ((dialog (make-editor-dialog))) ...) and voilá!
<pjb>
asarch: the only reason you would have to use setf on an object, is if there are some circularities. eg if you want a reference of A in B and of B in A…
Cymew has joined #lisp
<asarch>
The MAKE-EDITOR-DIALOG will do among other things, create and initialize every widget in the dialog including reading some values from a PostgreSQL cluster, define the correct callbacks for every widget, validation, etc
z147d has joined #lisp
<asarch>
How would you these three steps?
<pjb>
(dialog (widget …) (widget …) (widget …) …)
<pjb>
asarch: don't start thinking in terms of make-instance.
<pjb>
asarch: start thinking how you could describe the thing using sexps.
<pjb>
Things are often hierarchical, so lists of lists is a good way to represent them.
<asarch>
Without dummy, I would get:
<asarch>
There is no applicable method for the generic function #<STANDARD-GENERIC-FUNCTION COMMON-LISP-USER::X (1)> when called with arguments
<pjb>
Once you have a satisfactory description (something that seem to make sense to you), you can implement the "operators", ie. the symbols that start those lists, as functions or macros, to build an object tree to represent your thing.
<no-defun-allowed>
And if you don't want to put a complex form in the :initform for a slot in DEFCLASS, you can write an :AFTER method for INITIALIZE-INSTANCE that sets the slots appropriately.
vlatkoB has quit [Ping timeout: 260 seconds]
<asarch>
How?
<asarch>
I mean, following this very, very, very, simple example?
<White_Flame>
simple = having few parts, complex = having many interconnected parts
<Cymew>
The MAKE-INSTANCE that uses FUNCALL.
<White_Flame>
if you use a ton of different clauses to represent something that can be represented in 1, then it's by definition complex
<Cymew>
Right.
<no-defun-allowed>
And I think that a point is not really a comparable example, because you are expected to make multiple instances of points with very different values.
<Cymew>
Write code for the most concise general case.
<pjb>
asarch: you have an undefined variable p above.
<pjb>
asarch: use LET !!!
<no-defun-allowed>
Meanwhile, you will probably only have one application at a time, and the slot values aren't usually changed by the user.
<asarch>
pjb: Bingo! \o/
<no-defun-allowed>
You can't call bingo yet; you need to have five successes in a row for that.
<White_Flame>
PROGN returns the Nth (i.e. last) value of the forms it encompasses. Many forms like LET have an implicit PROGN body
<White_Flame>
it is very comparable to "return p" from other languages
<White_Flame>
if P is the last form in the body
<White_Flame>
(s/value/result/ to be more correct)
<montaropdf>
White_Flame: How to find out if a form like let have an implicit PROGN?
<asarch>
So, is this last example the "correct" way?
<montaropdf>
This is still quite confusing to me when I have to use an explicit PROGN or not
<White_Flame>
asarch: no, the "correct" idiomatic way is to initialize all the parameters in the make-instance form
<White_Flame>
as described above
<asarch>
Even if the initialization would take miles and miles of distance of code?
no-defun-allowed has joined #lisp
<aeth>
montaropdf: a hint as to what to do is that if the form has an &body in its definition then you probably do not have to use an explicit PROGN
v88m has joined #lisp
gigetoo has quit [Ping timeout: 246 seconds]
<White_Flame>
montaropdf: The CLHS says what the return value of a special form is. If there's a singular body, then it's usually an implicit PROGN. If there are multiple bodies/forms (IF, DO, etc) then it usually has other specifics
<no-defun-allowed>
Then you write an :after method for INITIALIZE-INSTANCE if you want to do some complex initialisation.
<aeth>
montaropdf: e.g. In SBCL (they might use different names in other implementations)... (if test then &optional else) vs. (when test &body forms)
<White_Flame>
the forms themselves don't need any extra surrounding parens besides the ones containing the whole LET
<montaropdf>
wow
<White_Flame>
in fact, it's probably an error to put more parens in there :-P
<montaropdf>
I guess I already made that mistake a couple of times, and it ends with an error at load/compile time.
admich has quit [Read error: No route to host]
<White_Flame>
(let <bindings> (progn <form1> ... <formN>)) would be valid, but redundant
<montaropdf>
Now I see why, but for a noob, this is a bit disturbing, I suppose I will get used to it.
ArthurStrong has left #lisp [#lisp]
admich has joined #lisp
<White_Flame>
once you start making your own macros with &body, all will become clear
<montaropdf>
White_Flame: That's another part of LISP to explore and to understand. And I am really far from that stage.
<White_Flame>
yep, I'm just saying don't worry too much about it not clicking for now, and just learn the syntax rote
<White_Flame>
it will click eventually
<montaropdf>
I hope
<White_Flame>
it's simple, it will
<White_Flame>
lisp is a very regular language (barring some historical warts that are easily ignored)
<montaropdf>
This is why I find it facinating, compared to any other language I have used so far
<montaropdf>
But, for now, it is dark magic to me ;)
<montaropdf>
And after 20 years of being a simple emacs user it was about time I get my hands dirty with LISP ;)
<White_Flame>
heh
<White_Flame>
(also, it's Lisp. People haven't capitalized it LISP in 20 years either ;) )
<montaropdf>
ahahahah
<montaropdf>
So Lisp is no more considered an abbreviation?
<White_Flame>
correct
<montaropdf>
like the SOAP protocol became soap overtime?
<White_Flame>
besides, it has way more composite data structures than just List Processing nowadays
<montaropdf>
like defstruct and defclass for example.
<White_Flame>
and arrays and hashtables
<montaropdf>
I even see some package to manage enumaration.
davepdotorg has joined #lisp
<asarch>
How are the MAKE- functions implemented? Do they use :after method for INITIALIZE-INSTANCE?
ljavorsk has joined #lisp
<beach>
Only MAKE-INSTANCE calls INITIALIZE-INSTANCE.
karlosz has quit [Quit: karlosz]
ljavorsk has quit [Remote host closed the connection]
ljavorsk has joined #lisp
<asarch>
Thank you!
_Posterdati_ is now known as Posterdati
oxum has quit [Read error: Connection reset by peer]
oxum_ has joined #lisp
oxum_ has quit [Remote host closed the connection]
random-nick has joined #lisp
oxum has joined #lisp
ebzzry has joined #lisp
<pjb>
montaropdf: it's not disturbing anymore, when you place yourself in the shoes of the lisp implementer. If you try to interpret a let form, it's easy to write (cond … ((eq 'let (car form)) (interpret-let (cadr form) (cddr form))) …) with (defun interpret-let (bindings body) …)3
<pjb>
s/3//
<pjb>
montaropdf: anything else would make it more complicated than using car cadr cddr…
adriano1 has joined #lisp
<pjb>
Lisp is a very simple and low-level programming language (simplier and lower level than C). It only looks sophisticated, because it hit on the right concepts, and because of the abstraction tools provided and used, such as macros.
<pjb>
White_Flame: you might mean they've not capitalized lisp since the 70s!
<pjb>
White_Flame: before the invention of second generation of video terminals, the only terminals we had, punch cards, line printers, teletypes, only printed upper case letters. The first generation of video terminals only had uppercase characters too (they just emulated teletypes). Only when memory became cheaper, so that they could put a larger font rom in the video terminals and the invention of ASCII after 1969, did they start t
<pjb>
lower case.
<p_l>
important thing is that a lot of computers did optimizations that resulted in uppercase-only
<pjb>
White_Flame: unix is still able to work in all upper-case, if you enter your login in all upper-case (this feature might have been removed a few years ago from some versions of Linux getty).
<aap>
flexowriters had lower case actually
<p_l>
Lisp used capitalized symbols long after ASCII was available because one of the most popular implementations used SIXBIT for symbol encoding
<pjb>
p_l: well, you must discount using old systems after the development of newer systems.
<pjb>
Of course, you wouldn't throw away a 7090 that easily!
<pjb>
They were no smartphones!
<p_l>
Pascal is case-insensitive because it packed 10 characters into one 60 bit word
jmercouris has joined #lisp
<p_l>
pjb: SIXBIT is more of a PDP-10 thing :)
<pjb>
Even a PDP-10, you'd have to be at least two to throw it away!
asarch has quit [Quit: Leaving]
<aap>
they used BCD on the 70X, which is also a 6 bit encoding
<p_l>
my point is that availability of mixed case was less important than efficiency at times
<jackdaniel>
here we go again with character encodings
<pjb>
Futureman. He goes to the past with an iPhone, drops it, it's found by a black man, and he reverse engineer it, and in the modified future, it's Black Apple iPhones, with two bites, not Rainbow Apple iPhones :-)
* jackdaniel
puts his "bad guy" hat -- please move it to #lispcafe
<pjb>
Usually, only americans did that. We were free in the mornings!
FreeBirdLjj has joined #lisp
hhdave has joined #lisp
admich has quit [Ping timeout: 260 seconds]
FreeBirdLjj has quit [Ping timeout: 260 seconds]
<jmercouris>
beach: but since you can use any language for system administration on a Unix system, how do we distinguish a scripting language from a non scripting language. One could just as easily use C or Rust to make little scripts to modify a Unix system
<jmercouris>
the second definition of modifying a static program is much more clear to me, that one I get. We have a compiled program or something, and we want to expose some change via some bindings or language
<White_Flame>
scripting = triggering and configuring existing behavior, programming = creating new behavior. It's generally a spectrum, and the facilities of a turing complete language could do either.
<theluke>
Nice nicks
<theluke>
Very efficient
<no-defun-allowed>
Would you write a serious program in the Bourne shell?
<theluke>
White_Flame: technically, at the lowest level possible, programming is triggering and configuring already existing commands
<jmercouris>
nobody writes serious programs in shell
v_m_v has joined #lisp
<White_Flame>
no-defun-allowed: would you want the shell to make that literally impossible, and what implications would that have for simpler tasks?
<theluke>
jmercouris: depends on what you consider serious
<White_Flame>
theluke: yes, hence the spectrum
<jmercouris>
based on what I consider serious, nobody writes serious programs in shell
<jmercouris>
even if the program is massive, writing it in the shell is an exercise in not taking the task seriously
<theluke>
jmercouris: I'm fairly sure there are shell scripts for installing some linux distros
<theluke>
I wouldn't consider that trivial
<no-defun-allowed>
I would say that "scripting languages" are not as convenient for doing programming-in-the-large as non-"scripting languages".
<theluke>
You can also use shell scripts for server monitoring
<theluke>
Simplicity of a tool doesn't make it trivial
<theluke>
Knife is simple, but chefs make masterpieces using knives
<Cymew>
Hrmmph #lispcafe
<theluke>
Cymew: that's the offtopic?
<Cymew>
Yes
<theluke>
Alright
z147x has joined #lisp
z147d has quit [Remote host closed the connection]
<jmercouris>
I think the conclusion here is that "scripting" language has not been formally defined
<jmercouris>
the closest definition is maybe the following: "A scripting or script language is a programming language for a special run-time environment that automates the execution of tasks" from Wikipedia
<jmercouris>
but even that could abstractly apply to CL sometimes
<no-defun-allowed>
If half of the answers on that thread were right, we wouldn't see Python run as a server programming language, yet here we are.
<no-defun-allowed>
I still hold that "scripting languages" are really only defined by not being something you would want to write a large program which requires more than simple loops and conditionals.
<jmercouris>
jackdaniel: interesting, maybe that works, thank you
<jackdaniel>
not to mention (ql:system-apropos 'thread)
<jmercouris>
I did search
<jmercouris>
but I did not consider that the implementation main thread is what GTK may be using
<pjb>
jmercouris: you're wrong, serious programs are written in shell all the time!
<pjb>
jmercouris: you might be surprised by what you can find in /bin on some systems…
<jmercouris>
what I did not mention in my comment is that I meant to say GTK main thread
<pjb>
jmercouris: even programs with GUI are sometimes written in shell.
<pjb>
jmercouris: the point is that X11 allows to create windows with subwindows from different processes. So it makes it easy to present a user interface that looks integrated, but with elements coming from different programs or scripts.
<jmercouris>
ah, that is how exwm works then
<jmercouris>
I was wondering how that was even possible
<jmercouris>
so window managers are just integrating windows from different processes?
<jmercouris>
they are no different than any other program?
<pjb>
Exactly.
<pjb>
Remember that the window server is a single process, all the windows coming from different programs are inside the same data structure of the window server.
orivej has joined #lisp
ljavorsk has quit [Ping timeout: 248 seconds]
ljavorsk has joined #lisp
zaquest has joined #lisp
william1 has joined #lisp
ljavorsk has quit [Ping timeout: 265 seconds]
frgo_ has quit [Remote host closed the connection]
admich has joined #lisp
georgiePorgie has joined #lisp
brown121407 has quit [Read error: Connection reset by peer]
brown121407 has joined #lisp
admich has quit [*.net *.split]
jmercouris has quit [*.net *.split]
brandelune has quit [*.net *.split]
vlatkoB_ has quit [*.net *.split]
sunwukong has quit [*.net *.split]
Cymew has quit [*.net *.split]
JohnMS_WORK has quit [*.net *.split]
montaropdf has quit [*.net *.split]
shangul has quit [*.net *.split]
Khisanth has quit [*.net *.split]
shifty has quit [*.net *.split]
mathrick has quit [*.net *.split]
ggole has quit [*.net *.split]
old-possum has quit [*.net *.split]
rwcom has quit [*.net *.split]
hostile has quit [*.net *.split]
tfb has quit [*.net *.split]
jerme_ has quit [*.net *.split]
banjiewen has quit [*.net *.split]
kilimanjaro has quit [*.net *.split]
theluke has quit [*.net *.split]
d4ryus has quit [*.net *.split]
oni-on-ion has quit [*.net *.split]
theruran has quit [*.net *.split]
rme has quit [*.net *.split]
epony has quit [*.net *.split]
cdegroot has quit [*.net *.split]
cmatei has quit [*.net *.split]
samebchase has quit [*.net *.split]
brass has quit [*.net *.split]
surrounder has quit [*.net *.split]
zmt01 has quit [*.net *.split]
selwyn has quit [*.net *.split]
lnostdal_ has quit [*.net *.split]
fowlduck has quit [*.net *.split]
p_l has quit [*.net *.split]
entel has quit [*.net *.split]
travv0 has quit [*.net *.split]
Irenes[m] has quit [*.net *.split]
housel has quit [*.net *.split]
Gnuxie[m] has quit [*.net *.split]
spal has quit [*.net *.split]
null_ptr has quit [*.net *.split]
karstensrage has quit [*.net *.split]
vidak` has quit [*.net *.split]
lbtjp has quit [*.net *.split]
vydd has quit [*.net *.split]
jackhill has quit [*.net *.split]
gabc has quit [*.net *.split]
eagleflo_ has quit [*.net *.split]
drot has quit [*.net *.split]
abbe has quit [*.net *.split]
pjb has quit [*.net *.split]
stzsch has quit [*.net *.split]
koenig has quit [*.net *.split]
rumpelszn has quit [*.net *.split]
clothespin has quit [*.net *.split]
jonatack has quit [*.net *.split]
beach has quit [*.net *.split]
grumpyvegetable has quit [*.net *.split]
Kevslinger has quit [*.net *.split]
gendl has quit [*.net *.split]
nirved has quit [*.net *.split]
thonkpod has quit [*.net *.split]
splittist has quit [*.net *.split]
johs has quit [*.net *.split]
Blkt has quit [*.net *.split]
fe[nl]ix has quit [*.net *.split]
jbgg has quit [*.net *.split]
jello_pudding has quit [*.net *.split]
ullbeking has quit [*.net *.split]
avicenna has quit [*.net *.split]
physpi has quit [*.net *.split]
dkrm has quit [*.net *.split]
eeeeeta has quit [*.net *.split]
lonjil has quit [*.net *.split]
cyraxjoe has quit [*.net *.split]
Balooga has quit [*.net *.split]
payphone_ has quit [*.net *.split]
Mon_Ouie has quit [*.net *.split]
tazjin has quit [*.net *.split]
hydan has quit [*.net *.split]
XachX has quit [*.net *.split]
mjl has quit [*.net *.split]
chewbranca has quit [*.net *.split]
SlashLife has quit [*.net *.split]
MetaYan has quit [*.net *.split]
v88m has quit [Write error: Connection reset by peer]
Guest19180 has quit [Ping timeout: 268 seconds]
v88m has joined #lisp
m00natic has joined #lisp
jmercouris has joined #lisp
notzmv has quit [Ping timeout: 268 seconds]
no-defun-allowed has quit [*.net *.split]
v88m has quit [Read error: Connection reset by peer]
zmt01 has joined #lisp
karstensrage has joined #lisp
travv0 has joined #lisp
Gnuxie[m] has joined #lisp
spal has joined #lisp
Irenes[m] has joined #lisp
lnostdal_ has joined #lisp
gabc has joined #lisp
fowlduck has joined #lisp
entel has joined #lisp
housel has joined #lisp
lbtjp has joined #lisp
null_ptr has joined #lisp
selwyn has joined #lisp
p_l has joined #lisp
vidak` has joined #lisp
vydd has joined #lisp
drot has joined #lisp
jackhill has joined #lisp
abbe has joined #lisp
eagleflo_ has joined #lisp
hhdave has quit [*.net *.split]
gravicappa has quit [*.net *.split]
narimiran has quit [*.net *.split]
lavaflow_ has quit [*.net *.split]
vsync has quit [*.net *.split]
jfb4 has quit [*.net *.split]
thijso has quit [*.net *.split]
mason has quit [*.net *.split]
nullman has quit [*.net *.split]
emacsomancer has quit [*.net *.split]
bjorkintosh has quit [*.net *.split]
funnel has quit [*.net *.split]
xantoz has quit [*.net *.split]
isoraqathedh has quit [*.net *.split]
jibanes has quit [*.net *.split]
ozzloy has quit [*.net *.split]
hjudt has quit [*.net *.split]
lowryder has quit [*.net *.split]
bars0 has quit [*.net *.split]
TMA has quit [*.net *.split]
micro has quit [*.net *.split]
cpape has quit [*.net *.split]
nchambers has quit [*.net *.split]
Ziemas has quit [*.net *.split]
zymurgy has quit [*.net *.split]
ult has quit [*.net *.split]
b0nn has quit [*.net *.split]
add^__ has quit [*.net *.split]
xlei has quit [*.net *.split]
eschatologist has quit [*.net *.split]
equwal has quit [*.net *.split]
sepi`` has quit [*.net *.split]
ramus has quit [*.net *.split]
z0d has quit [*.net *.split]
saturn2 has quit [*.net *.split]
cross has quit [*.net *.split]
akkad has quit [*.net *.split]
sukaeto has quit [*.net *.split]
seisatsu has quit [*.net *.split]
Fade has quit [*.net *.split]
_death has quit [*.net *.split]
michalisko has quit [*.net *.split]
z147d has joined #lisp
ChibaPet has joined #lisp
cpape` has joined #lisp
b0nn_ has joined #lisp
MetaYan has joined #lisp
micro_ has joined #lisp
sepi``` has joined #lisp
Ziemas_ has joined #lisp
physpi has joined #lisp
isoraqathedh has joined #lisp
jmercouris has left #lisp [#lisp]
bjorkintosh has joined #lisp
sukaeto has joined #lisp
funnel_ has joined #lisp
bars0 has joined #lisp
rotty has quit [Ping timeout: 240 seconds]
JohnMS_WORK has joined #lisp
admich has joined #lisp
vlatkoB_ has joined #lisp
jerme_ has joined #lisp
Cymew has joined #lisp
montaropdf has joined #lisp
brandelune has joined #lisp
hostile has joined #lisp
shangul has joined #lisp
rwcom has joined #lisp
theluke has joined #lisp
shifty has joined #lisp
sunwukong has joined #lisp
mathrick has joined #lisp
Khisanth has joined #lisp
ggole has joined #lisp
old-possum has joined #lisp
banjiewen has joined #lisp
d4ryus has joined #lisp
kilimanjaro has joined #lisp
tfb has joined #lisp
rme has joined #lisp
oni-on-ion has joined #lisp
theruran has joined #lisp
TMA has joined #lisp
lavaflow_ has joined #lisp
samebchase has joined #lisp
cdegroot has joined #lisp
epony has joined #lisp
cmatei has joined #lisp
surrounder has joined #lisp
brass has joined #lisp
seisatsu has joined #lisp
pjb has joined #lisp
Balooga has joined #lisp
stzsch has joined #lisp
koenig has joined #lisp
grumpyvegetable has joined #lisp
gendl has joined #lisp
Kevslinger has joined #lisp
ullbeking has joined #lisp
thonkpod has joined #lisp
johs has joined #lisp
splittist has joined #lisp
nirved has joined #lisp
jello_pudding has joined #lisp
cyraxjoe has joined #lisp
payphone_ has joined #lisp
dkrm has joined #lisp
rumpelszn has joined #lisp
beach has joined #lisp
jonatack has joined #lisp
lonjil has joined #lisp
clothespin has joined #lisp
jbgg has joined #lisp
fe[nl]ix has joined #lisp
eeeeeta has joined #lisp
Blkt has joined #lisp
avicenna has joined #lisp
tazjin has joined #lisp
XachX has joined #lisp
Mon_Ouie has joined #lisp
SlashLife has joined #lisp
chewbranca has joined #lisp
mjl has joined #lisp
hydan has joined #lisp
vsync_ has joined #lisp
funnel_ is now known as funnel
zymurgy has joined #lisp
saturn2 has joined #lisp
emacsomancer has joined #lisp
rwcom has quit [Max SendQ exceeded]
equwal has joined #lisp
seisatsu is now known as Guest53850
lowryder has joined #lisp
ramus has joined #lisp
nchambers has joined #lisp
eschatologist has joined #lisp
entel has quit [Ping timeout: 248 seconds]
p_l has quit [Ping timeout: 248 seconds]
gravicappa has joined #lisp
mfiano2 has quit [Remote host closed the connection]
gravicappa has quit [Remote host closed the connection]
z147x has quit [Ping timeout: 240 seconds]
gravicappa has joined #lisp
gjnoonan has quit [Ping timeout: 252 seconds]
fowlduck has quit [Ping timeout: 248 seconds]
pent has quit [Ping timeout: 260 seconds]
theruran has quit [Ping timeout: 257 seconds]
michalisko has joined #lisp
narimiran has joined #lisp
dvdmuckle has quit [Ping timeout: 268 seconds]
grumpyvegetable has quit [Ping timeout: 244 seconds]
johs has quit [Ping timeout: 244 seconds]
ullbeking has quit [Ping timeout: 244 seconds]
jfb4 has joined #lisp
adeht has joined #lisp
mfiano2 has joined #lisp
pent has joined #lisp
notzmv has joined #lisp
dvdmuckle has joined #lisp
gjnoonan has joined #lisp
rotty has joined #lisp
add^_ has joined #lisp
gendl has quit [Ping timeout: 272 seconds]
akkad has joined #lisp
Fade has joined #lisp
nullman has joined #lisp
ult has joined #lisp
xantoz has joined #lisp
hjudt has joined #lisp
cross has joined #lisp
entel has joined #lisp
p_l has joined #lisp
jibanes has joined #lisp
mfiano2 has quit [Remote host closed the connection]
tazjin has quit [Ping timeout: 272 seconds]
johs has joined #lisp
gendl has joined #lisp
tazjin has joined #lisp
mfiano2 has joined #lisp
fowlduck has joined #lisp
grumpyvegetable has joined #lisp
ullbeking has joined #lisp
jonatack has quit [Ping timeout: 272 seconds]
theruran has joined #lisp
ozzloy has joined #lisp
ozzloy has joined #lisp
ozzloy has quit [Changing host]
z0d has joined #lisp
thijso has joined #lisp
v88m has joined #lisp
xlei has joined #lisp
cartwright has quit [Remote host closed the connection]
cartwright has joined #lisp
Guest19180 has joined #lisp
frgo has joined #lisp
JohnMS has joined #lisp
Guest19180 has quit [Ping timeout: 265 seconds]
JohnMS_WORK has quit [Ping timeout: 265 seconds]
admich has quit [Remote host closed the connection]
shangul has quit [Ping timeout: 265 seconds]
frgo has quit [Ping timeout: 265 seconds]
frgo has joined #lisp
frgo has quit [Remote host closed the connection]
frgo_ has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
ljavorsk has joined #lisp
georgiePorgie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
milanj has joined #lisp
frgo_ has quit [Remote host closed the connection]
frgo has joined #lisp
georgiePorgie has joined #lisp
frgo has quit [Remote host closed the connection]
gko_ has joined #lisp
frgo has joined #lisp
jmercouris has joined #lisp
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 240 seconds]
Lord_of_Life_ is now known as Lord_of_Life
bitmapper has joined #lisp
ebzzry has quit [Ping timeout: 268 seconds]
v_m_v has quit [Remote host closed the connection]
mercourisj has joined #lisp
jmercouris has quit [Disconnected by services]
mercourisj is now known as jmercouris
ljavorsk_ has joined #lisp
papachan has joined #lisp
ljavorsk has quit [Ping timeout: 265 seconds]
adriano1 has quit [Ping timeout: 260 seconds]
v_m_v has joined #lisp
notzmv has quit [Ping timeout: 268 seconds]
lucasb has joined #lisp
jmercouris has quit [Ping timeout: 265 seconds]
Bike has joined #lisp
vsync_ is now known as vsync
ljavorsk_ has quit [Ping timeout: 265 seconds]
frgo has quit [Remote host closed the connection]
frgo has joined #lisp
wxie has joined #lisp
oxum_ has joined #lisp
frgo has quit [Ping timeout: 265 seconds]
amerlyq has quit [Quit: amerlyq]
gxt has joined #lisp
frgo has joined #lisp
oxum has quit [Ping timeout: 252 seconds]
oxum_ has quit [Ping timeout: 245 seconds]
frgo_ has joined #lisp
shangul has joined #lisp
frgo has quit [Ping timeout: 265 seconds]
frgo has joined #lisp
jonatack has joined #lisp
frgo_ has quit [Ping timeout: 240 seconds]
ebzzry has joined #lisp
_jrjsmrtn has joined #lisp
ljavorsk has joined #lisp
FreeBirdLjj has joined #lisp
__jrjsmrtn__ has quit [Ping timeout: 268 seconds]
frgo has quit [Read error: Connection reset by peer]
frgo has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
v_m_v has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
ChibaPet is now known as mason
Guest19180 has joined #lisp
grewal has quit [Ping timeout: 265 seconds]
grewal has joined #lisp
FreeBirdLjj has quit [Ping timeout: 252 seconds]
Guest19180 has quit [Ping timeout: 252 seconds]
z147x has joined #lisp
v_m_v has joined #lisp
adriano1 has joined #lisp
z147d has quit [Ping timeout: 240 seconds]
georgiePorgie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
pfdietz95 has joined #lisp
X-Scale` has joined #lisp
X-Scale has quit [Ping timeout: 265 seconds]
X-Scale` is now known as X-Scale
dddddd has joined #lisp
v_m_v has quit [Ping timeout: 252 seconds]
william1 has quit [Quit: WeeChat 2.6]
ravndal has joined #lisp
z147x has quit [Remote host closed the connection]
z147x has joined #lisp
wxie has quit [Ping timeout: 260 seconds]
brandelune has quit [Quit: This computer has gone to sleep]
cosimone has joined #lisp
<dlowe>
it used to be really common to have a dock that you could just stick random programs into, like a monitor or a picture of the weather radar
<dlowe>
window swallowing isn't really part of the modern desktop environment anymore too, and that's kinda sad
<mason>
dlowe: CyberDog!
<mason>
Looked at one way, Apple's OpenDoc was the Unix philosophy taken to an unusual venue - graphical applications.
notzmv has joined #lisp
developernotes has joined #lisp
v_m_v has joined #lisp
jmercouris has joined #lisp
FreeBirdLjj has joined #lisp
adeht is now known as _death
<jmercouris>
Shinmera: any idea why (trivial-main-thread:with-body-in-main-thread () (gir:invoke ((gir:ffi "Gtk") 'init) nil)) freezes and blocks?
<Shinmera>
depends on: your implementation, what the main thread is doing, what that is supposed to do, etc.
<Shinmera>
so: no
<jmercouris>
OK
<jmercouris>
I will look into it...
<jmercouris>
Shinmera: OK, so that is a blocking operation that invokes GTK, but it needs to run on the main thread
<jmercouris>
I don't see how it is possible then
<jmercouris>
hm that is a bit unfortunate
<jmercouris>
somehow I'll have to run that line lasat
<Shinmera>
are you sure you're not already executing that on the main thread
<jmercouris>
you know, I'm not sure
<jmercouris>
all I can say is that I'm using SBCL and Slime, my swank lisp is empty
<jmercouris>
I think it spawns a thread for each command entered into the REPL?
<jmercouris>
strange, it loses its mind if there is anythign invoked on the main thread
<jmercouris>
even just this: (trivial-main-thread:with-body-in-main-thread () (print "lol"))
<jmercouris>
causes the program to freeze
<jmercouris>
fascinating
<jmercouris>
double interesting
<jmercouris>
depending on where I put the main thread call it sometimes freezes...
<d4ryus>
jmercouris: depending on what ur main thread is doing it breaks, as it uses 'bt:interrupt-thread': "This may not be a good idea if THREAD is holding locks or doing anything important"
<jmercouris>
d4ryus: yes, I need to figure out what GTK is doing to my main thread...
<jmercouris>
OK, I've figured out what happens
<jmercouris>
if I display a GTK window, then I can no longer call anything on the main thread
<jmercouris>
it seems that GTK completely hijacks the main window
<jmercouris>
even if I regain control of the REPL
<d4ryus>
jmercouris: i guess the GTK main loop has some functionalty to attach a callback that is called when the loop is 'idle'
<jmercouris>
I have seen something like that
<jmercouris>
gtk add idle or something
<d4ryus>
jmercouris: yes, it has its own scheduling/signaling/etc
<Shinmera>
if GTK is already running you need some GTK event that'll run code on the main thread from within GTK. tmt only works if the main thread isn't already busy.
<jmercouris>
maybe I'll make trivial-main-gtk-thread :-P
<jmercouris>
I guess I will have to figure out how to ask GTK
<jmercouris>
alright so apparently it is enough to GTK INIT for GTK to take over everything
<jmercouris>
so thereafter, Lisp needs to spawn another thread for the REPL?