Kundry_Wag has quit [Remote host closed the connection]
slyrus has quit [Ping timeout: 260 seconds]
skapata has quit [Remote host closed the connection]
slyrus has joined #lisp
chipolux has joined #lisp
slyrus has quit [Ping timeout: 240 seconds]
hypercube has quit [Quit: WeeChat 3.1]
hypercube has joined #lisp
hypercube has quit [Client Quit]
charles` has joined #lisp
<sm2n>
moon-child: what about a language like idris where all well-formed programs are guaranteed to halt?
<sm2n>
that doesn't seem right
<moon-child>
sm2n: then idris is not turing-complete?
<sm2n>
strictly speaking, I believe so
<moon-child>
I don't think that definition is usually applied to non turing-complete languages
<Bike>
i don't understand this definition even without fancy schmancy programmin' languages
<Bike>
er, wait
<sm2n>
you have to prove all the bounds on your computations statically in idris
<Bike>
are you saying do this for all possible programs?
<sm2n>
yeah
<Bike>
oh, well then that works.
<Bike>
you're including programs like (unless (= _ 4) (loop)) after all
<moon-child>
right
<moon-child>
the advantage of that definition is that it works for all turing-complete languages without needing to have any knowledge of their semantics beyond that
<sm2n>
cool, I learned something today, thanks
<moon-child>
:)
notzmv has quit [Ping timeout: 240 seconds]
<sm2n>
or actually, moon-child, do you happen to have a reference that discusses this? I'd like to read more about it
logand``` has joined #lisp
DHARMAKAYA has joined #lisp
logand`` has quit [Ping timeout: 240 seconds]
chipolux has quit [Quit: chipolux]
trcm has quit [Remote host closed the connection]
torbo has quit [Remote host closed the connection]
orivej has joined #lisp
trcm has joined #lisp
notzmv has joined #lisp
jeosol has joined #lisp
ikrabbe has quit [Ping timeout: 240 seconds]
ikrabbe|2 has joined #lisp
ikrabbe has joined #lisp
montxero has quit [Remote host closed the connection]
ikrabbe|2 has quit [Ping timeout: 265 seconds]
DHARMAKAYA has quit [Read error: Connection reset by peer]
mindCrime_ has quit [Ping timeout: 240 seconds]
kmeow has quit [Quit: Leaving]
patrixl has quit [Quit: Leaving.]
phossil has quit [Quit: Leaving]
lawt has quit [Read error: Connection reset by peer]
lawt has joined #lisp
jeosol has quit [Quit: Connection closed]
ebrasca has quit [Remote host closed the connection]
mmmattyx has quit [Quit: Connection closed for inactivity]
scm_ has quit [Quit: Leaving]
<beach>
Good morning everyone!
quazimodo has quit [Quit: leaving]
quazimodo has joined #lisp
<lukego>
Thanks everyone for the rigorous discussion of datatype definition styles yesterday. I reread the Serapeum docs from beginning to end to try and update my mental model. For really ad-hoc internal data structures I need to experiment with DICT/MATCH and with DEFUNION.
xlei has quit [Read error: Connection reset by peer]
contrapunctus has joined #lisp
<lukego>
Maybe DEFCLASS verses DEFCLASS-STD (etc) is a false dichotomy and really there are a lot of different contexts for defining datatypes that each call for a separate mechanism. kinda like IF and WHEN and UNLESS and so on.
DHARMAKAYA has joined #lisp
<lukego>
I notice though that all this obsessing about how to define datatypes has not actually caused my broken program to start working and maybe I should try a different approach to that problem...
klltkr has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<Josh_2>
just use lists, simple az
<beach>
I think we heard all the arguments around half a day ago.
<beach>
I completely misunderstood the context and thought lukego and jmercouris were talking about the use of these operators in more-or-less final code, but it became clear that they meant the use in code that is highly likely to change, to be rewritten, or to be deleted entirely.
<lukego>
beach: I am feeling less provoked by your "if you don't care about X" comments when I read that as "when you are not immediately concerned about X in your present context" rather than "when you are a bad person because you don't give X due respect" :)
<fiddlerwoaroof>
iI see I missed all the fun
<beach>
lukego: Sure, that's a good interpretation in your case. Not so with many others who come here and who have no idea about elementary software engineering.
DanklyTuned has quit [Quit: nyaa~]
<no-defun-allowed>
fiddlerwoaroof: Yes, you're supposed to use generic functions, i.e. no defun. Cancel out the two negatives, and you have only fun.
<fiddlerwoaroof>
I personally really dislike non-extensible conditional constructs
waleee-cl has quit [Quit: Connection closed for inactivity]
<lukego>
it's a new revelation to me now though that there are a bunch of other macros, e.g. DEFCONSTRUCTOR from Serapeum, that actually capture the context i.e. that is something that you only use for a quick and simple local representation of immutable structures.
<fiddlerwoaroof>
e.g. I almost always use generic functions instead of case/cond and friends
<fiddlerwoaroof>
And, what I've noticed, is that almost all "functional" programming languages use constructs that are OOP in CLOS's sense
<fiddlerwoaroof>
Clojure's multimethods are just a bad version of CLOS and Haskell has typeclasses everywhere, which basically are a compile-time version of generic dispatch
<lukego>
and that puts me off defclass-std as being "yet another defclass" rather than something complementary that's tailored to a more specific use case.
<beach>
fiddlerwoaroof: You must have missed the general consensus here in #lisp that you should avoid generic functions since they are bad for performance.
<fiddlerwoaroof>
I don't worry about performance until I have to
* beach
hasn't finished his coffee yet, and feels cranky still.
<fiddlerwoaroof>
I guess I'm a bad programmer
<Josh_2>
beach: that was the general consensus? Folks must have gone mad ;)
<beach>
I guess so.
<beach>
Josh_2: I am joking.
<Josh_2>
:P
<lukego>
I liked splittist's comment that the rest of the world is built in Javascript these days so there's nothing particularly indulgent about using all the generics and indirections you please. Chrome has reset the bar on what is appropriate resource utilization by software and we can all rejoice in our relative thrift :)
<fiddlerwoaroof>
JS is pretty fast, though
<fiddlerwoaroof>
Like, I think it's probably hard to right a compiler for a dynamic language that comes close to V8
<beach>
lukego: Facts like that don't seem to prevent eternal discussions about performance. Not to mention the size of executables.
<fiddlerwoaroof>
I mean, like 90% of companies run on some combination of Python, Ruby or PHP
<fiddlerwoaroof>
If we want to talk about performance not mattering
sxmx has quit [Quit: WeeChat 3.1]
<beach>
That's very sobering to hear.
<lukego>
fiddlerwoaroof: so much the better :) writing slow code is contributing to computer science by stimulating compiler research, just look at javascript...
<fiddlerwoaroof>
The great thing about CL is that I find I can just write CL in most situations where I'd use FFI in Python
<fiddlerwoaroof>
Not to mention actually being able to benefit from multiple threads of executin
notzmv has quit [Ping timeout: 260 seconds]
<beach>
The more I hear about Python (the language) the more I think it's a joke, and the more I am totally baffled why anyone would want to use it.
jeosol has joined #lisp
<Josh_2>
its easy and promoted a lot
<fiddlerwoaroof>
It's all about the libraries, really
<fiddlerwoaroof>
Also, it's relatively quick to go from nothing to a proof of concept in Python
<mfiano>
I don't buy the last bit
<lukego>
I like that "I must program as inefficiently as possible" mantra. that it's healthy mental exercise to burn CPU cycles and you should strive to do it as much as you can get away with.
<fiddlerwoaroof>
:)
<fiddlerwoaroof>
lukego: "only optimize problems you can measure" is pretty standard advice
<lukego>
or maybe we should fight to get our own code a respectable share of our CPU's cycles relative to e.g. Chrome and the idle loop :)
<fiddlerwoaroof>
I don't take a program seriously that doesn't pin at least one CPU core and consume 4GB of RAM
Josh_2 has quit [Ping timeout: 252 seconds]
<lukego>
(also my code is working now and it's massively improved compared with the previous messy version so thanks everybody who helped me pick the right color for my bikeshed, it worked out in the end)
DHARMAKAYA has quit [Ping timeout: 260 seconds]
<lukego>
I really notice that after a break from Lisp hacking it takes a while to reabsorb all the old idioms and learn new ones. a bit like taking a break from speaking english. big languages full of nuance that are always evolving.
<beach>
I am reminded of the remarks by several students in the past when they were given a bad grade on some programs: "But it works!!!".
<beach>
lukego: Congratulations to being back!
<lukego>
thanks :)
motersen has quit [Remote host closed the connection]
motersen has joined #lisp
zooey has quit [Ping timeout: 240 seconds]
zooey has joined #lisp
phossil has joined #lisp
marusich has joined #lisp
phossil is now known as tophullyte
tophullyte has quit [Quit: Leaving]
tophullyte has joined #lisp
Bike has quit [Quit: Lost terminal]
<no-defun-allowed>
beach: From memory, the marking system at my last university was predominantly marking what ran. Who were you teaching?
asarch has joined #lisp
tophullyte has quit [Quit: Leaving]
<beach>
Final year undergraduates and first year masters students. The message was always that a program that works but that is unmaintainable is useless because it must be thrown away when the requirements change, but a program that does not work but is maintainable can be made to work more easily.
<beach>
So we read the code of each program and graded (marked) it according to these criteria.
<beach>
I am totally sure that this is still the case for the masters students, because I know the person running that course very well, and we share the same values when it comes to software development.
<no-defun-allowed>
I see.
<beach>
For the undergraduates, I haven't kept up, so I don't know.
<beach>
It was a lot of work, of course. But more to the point, this kind of grading requires the teachers to be competent in software development, and that is typically not the case when they are hired, as I have already explained. So these teachers had to invest a lot of time reading and writing code, books, and articles about software development.
<beach>
And that time was not explicitly paid. In fact, by spending that time on teaching rather than on some narrow research, their careers were often delayed.
<fiddlerwoaroof>
I've always thought that the way universities have seemed to unified research professors and teaching professors is bad for everyon
<moon-child>
fiddlerwoaroof: I think the theory, at least, is to avoid 'those who can't do teach'
<beach>
fiddlerwoaroof: Not usually. Take mathematics or the sciences (physics, chemistry). The undergraduate teaching doesn't require them to keep up, or to acquire skills from industry. The material is the same from one year to another.
<beach>
The problem is that the computer science programs accepted to take on the teaching of programming and software development.
<lukego>
I approach software development more like the way people advise writers to write. lots of drafts and rewrites and darlings and murders and so on. but desired end result is still the same as people who do things right first time.
<beach>
If they had stayed with theory, like computability, complexity theory, etc. There would be no problem.
<lukego>
I often don't even compile my first version of a program before rewriting it - just dump it out into emacs to organize my thoughts - so I really don't want to spend cycles thinking about optimization or maintainability or even syntax errors in that context.
thinkpad has quit [Ping timeout: 268 seconds]
tophullyte has joined #lisp
thinkpad has joined #lisp
<beach>
lukego: What's the context?
<beach>
lukego: As in, what prompted you to say that?
<fiddlerwoaroof>
So, my background is mostly in the humanities (grad school and undergrad): but, my experience there was that the professors who were really good at research often weren't great to have as a teacher while the ones that you wanted to teach you often weren't the people who are famous for their ideas
<no-defun-allowed>
beach: I think lukego is continuing with the discussion on performance.
<beach>
Oh!
<beach>
fiddlerwoaroof: I can imagine that, sure.
<lukego>
beach: mostly just reflecting on friction in the discussion yesterday, specifically realizing that when I'm in "rough first draft that won't even compile" mode I'll naturally be at odds with your advice about how to write clean code that will pass formal review.
<fiddlerwoaroof>
Anyways, I'll go back to being on-topic
<beach>
fiddlerwoaroof: The problem in software development is that we have no good way to select knowledgeable teachers.
<fiddlerwoaroof>
Yeah, measuring "teaching" as such is always the challenge
<beach>
fiddlerwoaroof: And in software development, there is the problem of competence.
<fiddlerwoaroof>
Research has measurable outputs in a way teaching doesn't
<no-defun-allowed>
(...to which I think Joe Armstrong nailed the apparent decision between performance and good design with "Make it work, then make it beautiful, then if you really, really have to, make it fast. 90 percent of the time, if you make it beautiful, it will already be fast. So really, just make it beautiful!")
<beach>
fiddlerwoaroof: Not many people have it, and there is nobody to determine who does.
<moon-child>
imo 'make it fast' is a misnomer. There is no fast code. There is slow code, and if code is slow then it bears to make it not slow
<lukego>
beach: and I guess that there are different kinds of advice about how to write good code. one kind focuses on what the result should look like - clean interfaces, etc - and the other focuses on the process - should have been rewritten at least N times and be only 1/Mth its original line count
<fiddlerwoaroof>
lukego: I generally write the code you're talking about as drafts in the repl
<fiddlerwoaroof>
After I'm fairly satisfied with a solution, I copy it into a file and generalize
<lukego>
fiddlerwoaroof: I'm becoming more extreme over the years. I can easily spend several weeks writing draft code that never compiles. I wouldn't do that in the repl
<no-defun-allowed>
Or at least, I think my "fast code" is relatively nice, because it uses the right data structures and algorithms and whatever else that quiche-eater Nicholas Wirth probably said was good.
opcode has quit [Remote host closed the connection]
<lukego>
maybe I'm progressing in my career towards drawing useless UML diagrams all day in some senior role at an IBM-alike.
booaa has joined #lisp
marusich has quit [Ping timeout: 246 seconds]
<fe[nl]ix>
lukego: something to live for
<fiddlerwoaroof>
lukego: my career started out with Delphi and, ever since that was taken away, I've found it really annoying to write GUI software
<lukego>
fe[nl]ix: die a hero, live a villain, etc, i guess :)
<fiddlerwoaroof>
And by "career", I'm starting when I was about 7
<fiddlerwoaroof>
But, I just find most of the modern development tools annoying
<fiddlerwoaroof>
CL in emacs, so far is the least bad
booaa has quit [Quit: rcirc on GNU Emacs 28.0.50]
booaa has joined #lisp
<moon-child>
fiddlerwoaroof: have you seen fpc/lazarus?
<fiddlerwoaroof>
moon-child: yeah, I've even used it a bit here and there
sauvin has joined #lisp
<fiddlerwoaroof>
It's annoying to setup on a Mac and relatively unstable (at least, the Cocoa port is), but the experience of using it still is so much better than the React stuff that pays the bills
narimiran has joined #lisp
<lukego>
I'm really impressed with GToolkit for Pharo Smalltalk as a development environment. I started off using it for this project before switching to lisp
<fiddlerwoaroof>
It's something I think about every once in a while: as an industry, I've begun to think our memories are so short that we just forget everything that happened more than five years ago or so
<fiddlerwoaroof>
lukego: yeah, I've always been interested in that ecosystem, but I've found it hard to get started
notzmv has joined #lisp
<fiddlerwoaroof>
Like, I'm working on a react native application and everyone's talking about how "X doesn't work for mobile apps because of how much harder it is to deploy mobile apps than websites", completely ignoring that X was practiced when shipping an update meant shipping CDs in boxes
<lukego>
I think that my memory is becoming more of a "high-pass" filter, seems to just ignore anything that happened _less_ than five years ago and assume it's a passing fad
<fiddlerwoaroof>
:)
trcm has quit [Remote host closed the connection]
technobean has joined #lisp
<no-defun-allowed>
Most of the references in the book I sometimes write are from 2010-2019 or 1990-1999. Did people just not have ideas in 2000-2009?
<fiddlerwoaroof>
no-defun-allowed: what was the Web 2.0 era, right?
<fiddlerwoaroof>
It's all XML
<fiddlerwoaroof>
And Java applications glued together using XML
<no-defun-allowed>
Now that you mention it.
<fiddlerwoaroof>
XSLT and XPath get an honorable mention (both of which I actually secretly like)
<fiddlerwoaroof>
It's also notable for the ascendancy of Ruby on Rails and the rise of Agile
<aeth>
no-defun-allowed: for programming? in the early '00s "everyone" got laid off and left the industry because of the dot-com bust.
<aeth>
you can also look at some interesting stats like enrollments in university comp sci departments.
<no-defun-allowed>
aeth: Well, mostly programming. Though if I redraw the histogram with 5-year bars, I see that 2005-2009 was strangely quiet.
<fiddlerwoaroof>
The last time Haskell was a language with a specification and multiple viable implementations :0
<aeth>
no-defun-allowed: web 2.0 era?
<no-defun-allowed>
Appears like it, as O'Reilly popularised the term in 2004.
<fiddlerwoaroof>
Hmm, V8/the JVM's tracing JIT dates to about then too
<fiddlerwoaroof>
I think
<fiddlerwoaroof>
I guess I'm wrong about the JVM's JIT, but V8 is then
<no-defun-allowed>
The 90s brought about Squeak, the end of Self, the Unix-Hater's Handbook and the second edition of SICP.
<no-defun-allowed>
Yes, the Self compiler people moved to Strongtalk and then the JVM.
<fiddlerwoaroof>
The 2000s were basically the years when Microsoft was at the height of its power, afaict
Oladon has quit [Quit: Leaving.]
<fiddlerwoaroof>
The Unix vendors were basically irrelevant for most people, the Web was still being held back by IE6
<fiddlerwoaroof>
And smartphones weren't yet around, really
<fiddlerwoaroof>
(via a hackernews result for "JVM tracing JIT")
<fiddlerwoaroof>
lukego: I'm also curious why you're rewriting from gtoolkit to lisp
tophullyte has quit [Ping timeout: 248 seconds]
msk has joined #lisp
_paul0 has quit [Remote host closed the connection]
paul0 has joined #lisp
chipolux has joined #lisp
bitmapper has quit [Quit: Connection closed for inactivity]
slyrus has joined #lisp
silasfox has joined #lisp
aartaka has joined #lisp
silasfox has quit [Client Quit]
silasfox has joined #lisp
Major_Biscuit has joined #lisp
<fiddlerwoaroof>
Does anyone happen to have a VNC server written in CL?
gproto23 has joined #lisp
chipolux has quit [Quit: chipolux]
random-nick has joined #lisp
<lukego>
fiddlerwoaroof: the ultimate reason that I switched from gtoolkit to lisp is for the language. in Lisp I feel free to write basically pseudocode and gradually massage/rewrite it into something the compiler understands. in smalltalk I can't even Save code that doesn't have correct syntax, isn't organized into classes, doesn't adhere to the rules about inheritance and traits, etc.
<lukego>
but I've used gtoolkit a lot in a previous project and the big problem then was that they were constantly rewriting it and it was very difficult to build from source (which i spent weeks and weeks fighting and ultimately gave up on)
h4ck3r9696 has joined #lisp
<lukego>
but I think that I was unlucky with timing -- I wrote an application based on the "old gtoolkit" that they did at a university and then they immediately formed a company to develop the "new gtoolkit" and there was an awkward period there where the old version wasn't supported anymore but the new version wasn't ready to use yet
rdd has joined #lisp
sxmx has joined #lisp
<lukego>
bringing this back to lisp -- it's actually a strength that a lot of stuff here is basically the same as it has always been. I don't spend my time trying to keep up with the ecosystem every month -- or even necessarily have to worry about what's changed in the past 10/20 years.
<lukego>
maybe I'm getting old but "stability" is a feature to me these days and pretty high on my priority list. I'm glad that Lispers don't "burn the diskpacks" every five years.
booaa has quit [Quit: ERC (IRC client for Emacs 28.0.50)]
skapata has joined #lisp
slyrus has quit [Ping timeout: 240 seconds]
<fiddlerwoaroof>
Yeah, I really grew to appreciate that, both in CL and in working with Clojure
<lukego>
random follow up of past discussion: I'm super happy with the 1AM unit test framework. it's about 80 lines of code and just the right level of minimalism for me.
l1x has joined #lisp
slyrus has joined #lisp
hjudt has joined #lisp
pve has joined #lisp
slyrus has quit [Ping timeout: 260 seconds]
rjcks has joined #lisp
fourier has joined #lisp
fourier has quit [Changing host]
fourier has joined #lisp
ljavorsk has joined #lisp
slyrus has joined #lisp
zooey has quit [Ping timeout: 240 seconds]
zooey has joined #lisp
slyrus has quit [Ping timeout: 246 seconds]
anticrisis has quit [Read error: Connection reset by peer]
hendursaga has joined #lisp
technobean has quit [Remote host closed the connection]
technobean has joined #lisp
hendursa1 has quit [Ping timeout: 240 seconds]
gitgood has quit [Quit: Probably away to do something really awesome]
t99 has joined #lisp
surabax has joined #lisp
Feldman has joined #lisp
slyrus has joined #lisp
slyrus has quit [Ping timeout: 248 seconds]
kevingal has joined #lisp
L0u1sChu has joined #lisp
slyrus has joined #lisp
andreyorst[m] has joined #lisp
slyrus has quit [Ping timeout: 260 seconds]
frost-lab has joined #lisp
lotuseater has joined #lisp
aartaka_d has joined #lisp
aartaka has quit [Ping timeout: 252 seconds]
gproto23 has quit [Ping timeout: 260 seconds]
Feldman has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
aartaka has joined #lisp
slyrus has joined #lisp
aartaka_d has quit [Ping timeout: 265 seconds]
gproto23 has joined #lisp
galex-713 has quit [Ping timeout: 248 seconds]
slyrus has quit [Ping timeout: 268 seconds]
seok has joined #lisp
<asarch>
If I had: '(:|beer| 10 :|pizza| 4 :|tacos| 8) how could I converted to: (:beer 10 :pizza 4 :tacos 8)?
<no-defun-allowed>
Dare I ask why you have the former?
g_SG has joined #lisp
<asarch>
It is a query result
<asarch>
If that would be stored in food, doing a (getf food :|pizza|) would gives me only the value
<beach>
asarch: Someone must have turned the string "beer" into a symbol?
<asarch>
Is there any way to modify the key?
<no-defun-allowed>
What did you use to generate that list? I am guessing some parser took every key and did (intern <key> '#:keyword)
<beach>
asarch: I think we are saying, don't create a symbol with lower-case letters in the first place.
johannes_ has joined #lisp
johannes_ is now known as kenran
<asarch>
That's the result of a query with CL-DBI: (dbi:fetch-all (dbi:execute (dbi:prepare *connection* "SELECT * FROM somewhere WHERE flag = ? OR updated_at > ?") (list 0 "2011-11-01")))
<no-defun-allowed>
Does cl-json do that? No, that generates alists and converts to upper kebab-case by default -- oh okay.
<White_Flame>
I would mapcar, and if a term is keywordp, re-intern it under *package*
galex-713 has joined #lisp
andreyorst[m] has quit [Ping timeout: 240 seconds]
Feldman has joined #lisp
<White_Flame>
or probably easier but less robust would be (read-from-string (symbol-name key))
<White_Flame>
only if you are certain of the keywords being safe syntax
andreyorst[m] has joined #lisp
<beach>
asarch: Next question: Why do you want to convert those symbols to upper case?
<no-defun-allowed>
An interesting result format. (n.b. I think you should stash the prepared statement somewhere, if it hasn't been folded in for the example.)
<beach>
Aren't they fine as they are?
<White_Flame>
oh wait, you did want the result still as keywords
<White_Flame>
but yeah, I agree with beach. The canonical names are :|beer| etc, use that syntax
<White_Flame>
if the names all of a sudden have other cases, for some reason, or you need to re-assert into the database that those came from, you need to use the same key
<asarch>
Well, I have some functions that retrieve data a la (getf food :pizza)
klltkr has joined #lisp
lawt has quit [Ping timeout: 260 seconds]
<beach>
Don't do that then. Do (getf food :|pizza| instead.
<beach>
asarch: Why would you use a key with GETF that is not one that is in your list?
<asarch>
Here in México Dell is selling this https://pasteboard.co/JVwoB5Y.jpg at the ridiculous prices of ~$1,000 USD. It would be great instead of a "normal" laptop, right?
<asarch>
Because there are two ways of doing the queries
<asarch>
The A method and the B method. This, the :|pizza| is the result of the B method
<asarch>
I usually do with the A method, that's why I have all these functions getting data from the list with (getf food :pizza)
<White_Flame>
then fix the queries to always return the same form of the keys
Feldman has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
L0u1sChu has joined #lisp
<White_Flame>
beach: actually, I think it started off as more a performance thing. (find-package ...) is a function call but (symbol-package ..) just reads a slot from a read-time-interned symbol ;)
andreyorst[m] has joined #lisp
<White_Flame>
(as in, nitpicky cycles that don't really matter but dangit this is more direct :) )
<beach>
In that case, I would do #.(find-package "KEYWORD").
<beach>
Or (load-time-value (find-package "KEYWORD"))
slyrus has joined #lisp
<beach>
White_Flame, on the other hand, SYMBOL-PACKAGE may very well be a generic function in some implementations, and everyone knows how slow a call to a generic function can be. :)
<asarch>
Yeah! It worked! La vie in rose gentlemen! Cheers! o/
slyrus has quit [Ping timeout: 240 seconds]
Feldman has joined #lisp
silasfox63 has joined #lisp
silasfox has quit [Ping timeout: 246 seconds]
silasfox63 is now known as silasfox
aartaka has quit [Quit: Quit]
aartaka has joined #lisp
rogersm has quit [Quit: Leaving...]
skapata has quit [Remote host closed the connection]
andreyorst[m] has quit [Ping timeout: 265 seconds]
<asarch>
Thank you guys
<asarch>
Thank you very much :-)
<asarch>
Have a nice day
asarch has quit [Quit: Leaving]
Feldman has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
slyrus has joined #lisp
frgo has quit [Remote host closed the connection]
frgo has joined #lisp
Krystof has joined #lisp
aartaka_d has joined #lisp
xaotuk has quit [Ping timeout: 240 seconds]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
aartaka has quit [Ping timeout: 248 seconds]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
Feldman has joined #lisp
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
Feldman has quit [Client Quit]
amb007 has joined #lisp
vegansbane6963 has joined #lisp
<fiddlerwoaroof>
Well, I've solved one problem I had with lisp graphics
amb007 has quit [Read error: Connection reset by peer]
slyrus has quit [Ping timeout: 260 seconds]
Feldman has joined #lisp
<fiddlerwoaroof>
Rather than figure out how to interface with my OS, I've discovered it's relatively simple to write a VNC server that serves a framebuffer over the "network"
amb007 has joined #lisp
<fiddlerwoaroof>
This lets me let the VNC client figure out how to display the framebuffer
<fiddlerwoaroof>
And when I say "write a VNC server", I mean "fix a code sample I found online"
<fiddlerwoaroof>
Now, I just need to figure out how to teach McCLIM how to write to this server
silasfox has quit [Ping timeout: 246 seconds]
amb007 has quit [Read error: Connection reset by peer]
<scymtym>
fiddlerwoaroof: for a McCLIM backend, you have to decide on the frame management model: should the VNC server expose some sort of virtual desktop with multiple windows ("frames" in CLIM terminology) and window management or should the VNC server correspond to a single window and always show the content of that window?
amb007 has quit [Read error: Connection reset by peer]
gproto23 has joined #lisp
slyrus has joined #lisp
amb007 has joined #lisp
Feldman has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
amb007 has quit [Read error: Connection reset by peer]
<Krystof>
wow.
<Krystof>
Are you round-tripping to the server for each input event?
amb007 has joined #lisp
luckless_ has quit [Remote host closed the connection]
<fiddlerwoaroof>
That's a cool demo, the issue I always have is the "window in window" paradigm there always feels a bit odd
amb007 has quit [Read error: Connection reset by peer]
luckless_ has joined #lisp
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
silasfox has quit [Ping timeout: 268 seconds]
silasfox has joined #lisp
slyrus has quit [Ping timeout: 246 seconds]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
ukari has quit [Remote host closed the connection]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
ukari has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
ukari has quit [Remote host closed the connection]
ukari has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
igemnace has quit [Remote host closed the connection]
amb007 has quit [Read error: Connection reset by peer]
Feldman has joined #lisp
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
<scymtym>
fiddlerwoaroof: yes, there is a websocket connection that sends input events from the javascript client to the server and sends display commands from the server to the javascript client
<scymtym>
Krystof: sorry, that was meant for you
<scymtym>
fiddlerwoaroof: i agree. that's why i brought up the issue
silasfox has quit [Quit: Connection closed]
silasfox has joined #lisp
Feldman has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
slyrus has joined #lisp
slyrus has quit [Ping timeout: 240 seconds]
kenran has quit [Quit: leaving]
Posterdati has quit [Ping timeout: 240 seconds]
<lukego>
silasfox: did you just write an irc message that included newlines and indentation? is that possible? <mind-blown.gif>
Posterdati has joined #lisp
curtosis has joined #lisp
Bike has joined #lisp
contrapunctus has left #lisp ["Disconnected: closed"]
contrapunctus has joined #lisp
ech has quit [Ping timeout: 240 seconds]
ukari has quit [Remote host closed the connection]
ukari has joined #lisp
<silasfox>
lukego: I copy-pasted from my slime-repl... Apparently that is possible.
slyrus has joined #lisp
em-bee has quit [Ping timeout: 246 seconds]
eMBee has joined #lisp
curtosis is now known as curtosis[away]
frost-lab has quit [Quit: Connection closed]
slyrus has quit [Ping timeout: 248 seconds]
heisig has joined #lisp
drl has quit [Remote host closed the connection]
curtosis[away] has quit [Quit: My Mac Mini has gone to sleep. ZZZzzz…]
waleee-cl has joined #lisp
aartaka has joined #lisp
silasfox has quit [Ping timeout: 260 seconds]
<SAL9000>
lukego: "newlines" in IRC come through as multiple messages, and more than 3-4 such lines usually cause the server to rate-limit you
aartaka_d has quit [Ping timeout: 240 seconds]
jeosol has quit [Quit: Connection closed]
surabax has quit [Quit: Leaving]
surabax has joined #lisp
monaliza has joined #lisp
slyrus has joined #lisp
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
<splittist>
scymtym: <mouth open in stunned admiration emoji>
contrapunctus has left #lisp ["Disconnected: closed"]
contrapunctus has joined #lisp
slyrus has quit [Ping timeout: 240 seconds]
cosimone has joined #lisp
silasfox has joined #lisp
ikrabbe|2 has joined #lisp
ikrabbe has quit [Ping timeout: 248 seconds]
curtosis has joined #lisp
ikrabbe|2 is now known as ikrabbe
xlei has joined #lisp
cage_ has joined #lisp
gproto23 has quit [Remote host closed the connection]
wsinatra has joined #lisp
<jmercouris>
reccommendations on expert systems in CL?
<jackdaniel>
clips ,)
<jackdaniel>
(that was a joke, clips is written in c, but it supports sexpressions)
<jmercouris>
I'm not interested in using C
<jmercouris>
maybe if it is really good I could make a plugin
<splittist>
jmercouris: how much do you need beyond the toy mycin in PAIP?
<jmercouris>
I need something extremely performant
<jmercouris>
I want to identify logical fallacies in documents by extracting rules from them
<splittist>
Where's the expert part?
<jmercouris>
there are rules, and there are questions
<jmercouris>
the questions will be created by the user to determine if a piece of text is logically sound
<jmercouris>
the rules are created by the program analyzing the text
<jmercouris>
as such, there may be many many rules
<sm2n>
that sounds more like a model checker than an expert system
<sm2n>
with some nlp magic
<splittist>
jmercouris: to help my understand, why can't the user read the document?
<splittist>
s/my/me/
<sm2n>
I'm assuming this is some fake news detection thing
<jackdaniel>
it is the full automatization - you don't need to read the document to browse it
slyrus has joined #lisp
<jmercouris>
sm2n: correct
<jmercouris>
the user should read the document
<jmercouris>
I want some ways to help identify BS on the internet
<jmercouris>
a BS metric if you will, that the user can use to make informed decisions
<jmercouris>
this is one of many models I have in mind...
<jmercouris>
so I wanted to play around with some expert systems
<jmercouris>
see if they could identify logically inconsistent documents
<splittist>
The correct heuristic is, presumably: if it is on the internet, it is BS
<jmercouris>
splittist: I'm afraid that is not useful, or true
<jmercouris>
the very fact that you said that, on the internet, is a fallacy on of itself
curtosis has quit [Quit: My Mac Mini has gone to sleep. ZZZzzz…]
<splittist>
jmercouris: as sm2n says, this is sort of the opposite of what I understand an expert system is
<sm2n>
I don't think using automated nlp is a good idea... it suffers from similar issues as the misinformation generating processes
<jmercouris>
sm2n: how would you tackle this problem?
<sm2n>
I think the general idea is decent though, say you have a document open, maybe you could have a "pane" or something that displays a formalized logical inference tree, in natural deduction form or something
gproto23 has joined #lisp
<sm2n>
the reader could fill it out as they read
<jmercouris>
what is a formalized logical inference tree?
<sm2n>
if it's sufficiently formalized, you can even pass it to a proof assistant like Z3
<sm2n>
and generate some logical consequences
<jmercouris>
I see what you mean
<sm2n>
*fancy notation, whoops
<jmercouris>
I don't think someone susceptible to 'fake news' will have the rigor to complete such an exercise
<jmercouris>
I could very well be wrong, but I have a strong intuition
<sm2n>
yeah, that is the issue
<jmercouris>
that there is an inverse relationship with intelligence...
Nilby has joined #lisp
<splittist>
I'm not seeing how computers help here. Take this text: "The LaTeX sources were converted to html using the latex2html program. We fixed many of the glitches by hand, but may have missed some. When in doubt, check your copy of the original paperbound version." What is supposed to happen when I'm browsing that?
<jmercouris>
LaTeX sources were converted to html using the latex2html -> latex2html converts latex to html
<jmercouris>
that's probably about all it could realistically extract
jeosol has joined #lisp
monaliza has joined #lisp
<jmercouris>
there are only two assertions in the above text
<sm2n>
if you are going to try nlp, I would make it optional
<jmercouris>
_death: :-D always good for a laugh
Feldman has joined #lisp
<splittist>
Hmm. If I'm reading an article that says "All men are mortal. Socrates is a man. Therefore global warming is [insert conclusion here]" a big red cross appears saying "incorrect inference"?
<jmercouris>
sm2n: of course, all the NLP we have is already optional
<sm2n>
use some nlp feature extraction algorithm to initially populate a deduction tree
<sm2n>
it can then be manually tweaked etc
<jmercouris>
splittist: I should hope so!
<sm2n>
no black boxes
<jmercouris>
no black boxes indeed...
<sm2n>
at least, that is my take, error prone automated processes should augment human reasoning, not replace it
<jmercouris>
absolutely, that's why I have this article I wrote
<jmercouris>
our clustering for buffers in the buffer list view is OPTIONAL!
<jmercouris>
and completely configurable/understandable
xaotuk has joined #lisp
<sm2n>
nice
t99 has quit [Quit: Lost terminal]
<jmercouris>
"Computationally augmented browsing"
cosimone has quit [Remote host closed the connection]
slyrus has joined #lisp
<jackdaniel>
minion: spec with-snake-oil macro
<jmercouris>
jackdaniel: what are you saying?
<jackdaniel>
I am saying that I see plenty of buzzwords that are not ontopic on this channel and could be categorized as a deceptive marketing
ebrasca has joined #lisp
slyrus has quit [Ping timeout: 240 seconds]
<jmercouris>
jackdaniel: are you saying that I am engaging in deceptive marketing?
<jackdaniel>
no, I am saying that "I see plenty of buzzwords that are not ontopic on this channel and could be categorized as a deceptive marketing"; I'll put an emphasis on the offtopic aspect of that statement
hhdave_ has joined #lisp
hhdave has quit [Ping timeout: 246 seconds]
hhdave_ is now known as hhdave
galex-713 has quit [Read error: Connection reset by peer]
xaotuk has quit [Ping timeout: 246 seconds]
e[m]2 has joined #lisp
slyrus has joined #lisp
Feldman has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Feldman has joined #lisp
galex-713 has joined #lisp
slyrus has quit [Ping timeout: 248 seconds]
_paul0 has joined #lisp
paul0 has quit [Read error: Connection reset by peer]
xaotuk has joined #lisp
contrapunctus has left #lisp ["Disconnected: closed"]
galex-713 has quit [Ping timeout: 248 seconds]
contrapunctus has joined #lisp
galex-713 has joined #lisp
gproto023 has joined #lisp
gproto23 has quit [Ping timeout: 268 seconds]
narimiran has quit [Ping timeout: 260 seconds]
hjudt has quit [Remote host closed the connection]
Feldman has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
hjudt has joined #lisp
charles` has quit [Ping timeout: 260 seconds]
Feldman has joined #lisp
gproto023 has quit [Quit: Leaving]
gproto23 has joined #lisp
hjudt has quit [Ping timeout: 240 seconds]
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
attila_lendvai has joined #lisp
VincentVega has joined #lisp
<VincentVega>
With a macro's lambda list &key, is it possible to identify the order in which the keys were supplied?
<phoe>
no
<phoe>
if you need that, do (&rest args &key ...)
booaa has joined #lisp
<VincentVega>
phoe: great, thank you!
Feldman has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Feldman has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Feldman has joined #lisp
<Josh_2>
Ello ello
<phoe>
heyyyy
v0|d has joined #lisp
long4mud has quit [Quit: WeeChat 3.0.1]
mindCrime_ has quit [Ping timeout: 265 seconds]
<Josh_2>
What crazy thing are we gonna talk about today? How about the performance of CL? jk jk
Feldman has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rjcks_ has joined #lisp
Feldman has joined #lisp
rjcks has quit [Ping timeout: 260 seconds]
cosimone has joined #lisp
technobean has joined #lisp
hjudt has joined #lisp
gitgood has joined #lisp
bjorkintosh has quit [Ping timeout: 250 seconds]
<contrapunctus>
Anyone here use redshank? It sounds quite cool but I've not heard much about it.
krjli has quit [Ping timeout: 260 seconds]
<contrapunctus>
It's a bunch of commands for performing some common insertions and modifications in CL code.
hypercube has joined #lisp
v0|d has quit [Remote host closed the connection]
<ck_>
I have used it sometimes in the past, yes. Some functions more than others, mostly the moderately simple stuff like extract-defun
Major_Biscuit has quit [Ping timeout: 252 seconds]
<ck_>
it didn't feel like a significant improvement over manually (par-)editing; maybe I didn't spend enough time with it
Feldman has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
technobean has quit [Ping timeout: 240 seconds]
tophullyte has joined #lisp
<attila_lendvai>
is rpav of c2ffi fame around?
long4mud has joined #lisp
<mfiano>
attila_lendvai: He stopped lisping a few years ago
mokulus has joined #lisp
<mfiano>
You can find him in our gamedev channel, #bufferswap if you need him immediately though.
<Xach>
stopped?
<attila_lendvai>
mfiano, much appreciated, thanks!
* attila_lendvai
is trying to compile c2ffi on nixos
lottaquestions has quit [Quit: Konversation terminated!]
Feldman has joined #lisp
hypercube has quit [Quit: WeeChat 3.1]
lottaquestions has joined #lisp
hypercube has joined #lisp
slyrus has joined #lisp
hypercube has quit [Client Quit]
hypercube has joined #lisp
hendursaga has quit [Ping timeout: 240 seconds]
slyrus has quit [Ping timeout: 260 seconds]
josemanuel has joined #lisp
narimiran has joined #lisp
mokulus has quit [Quit: WeeChat 3.0]
Elzington has joined #lisp
<Josh_2>
Shinmera: have you used Chirp recently?
<Shinmera>
I used it approximately a day ago to post a drawing.
<Josh_2>
Okay
<Shinmera>
Why does this matter? What is your actual question?
<Josh_2>
I'm getting an error trying to quickload it
<Josh_2>
"don't know how to REQUIRE sb-rotate-byte"
<Josh_2>
but it worked when I attempted to quickload in a fresh image
<Shinmera>
that's an ironclad issue.
<Josh_2>
I guess I will just redumping this image with chirp as a dependency, see if that works
<Shinmera>
whatever the case the issue is not with chirp.
<Josh_2>
Okay np
<Josh_2>
new image worked anyhow
<jmercouris>
I've noticed when loading my own code which depends on other libraries, slime compilation will report their warnings, any way to get rid of those?
<jmercouris>
I'm not interested in stuff like: Unknown location: redefinition: redefining CL-PREVALENCE:GET-ID in DEFGENERIC
slyrus has joined #lisp
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
<shka_>
jmercouris: yes, you can rebind the error stream
contrapunctus has joined #lisp
gproto023 has joined #lisp
Feldman has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
slyrus has quit [Ping timeout: 246 seconds]
White_Flame has quit [Ping timeout: 246 seconds]
bitmapper has joined #lisp
mmmattyx has joined #lisp
gproto23 has quit [Ping timeout: 246 seconds]
<Josh_2>
Shinmera: when using (complete-authentication <pin>) pin is supposed to be the url returned by initiate-authentication?
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
<Shinmera>
no, the pin you get from visiting that page.
<shka_>
which is perhaps not exactly what you want
<jmercouris>
right, I'm only interested in other libraries
<jmercouris>
it's OK
<jmercouris>
I will just have to live with it for now
slyrus has joined #lisp
slyrus has quit [Ping timeout: 240 seconds]
Feldman has joined #lisp
hypercube has quit [Ping timeout: 260 seconds]
<Josh_2>
yay I did it!
aartaka has joined #lisp
Oladon has joined #lisp
cage_ has quit [Quit: Leaving]
<Nilby>
I still have a CL twitter client with a TUI back from when you had to send your password in cleartext over http, but then I never looked a twitter again.
skapata has joined #lisp
aartaka_d has joined #lisp
<Josh_2>
Probably for the best
sauvin has quit [Remote host closed the connection]
<Nilby>
I'm simultaneously atounded at how hard it is now, and by Shinmera's productivity.
aartaka has quit [Ping timeout: 260 seconds]
slyrus has joined #lisp
rjcks_ has quit [Quit: leaving]
rjcks has joined #lisp
slyrus has quit [Ping timeout: 246 seconds]
<Shinmera>
Aw, thanks
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
hendursaga has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
cosimone has quit [Remote host closed the connection]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
<Josh_2>
Shinmera: the fun (statuses/update-with-media ..) says it takes either a pathname, usb-8 array or a base64 encoded string (in the docstring), I have just given it a usb-8 array and I get the error "Wanted one of (FUNCTION FILE-STREAM STREAM PATHNAME)."
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
<Shinmera>
Oh well.
aeth_ has joined #lisp
aeth has quit [Disconnected by services]
aeth_ is now known as aeth
thinkpad has quit [Ping timeout: 248 seconds]
heisig has quit [Quit: Leaving]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
<Josh_2>
I will just use a temp file
thinkpad has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
contrapunctus has left #lisp [#lisp]
amb007 has joined #lisp
contrapunctus has joined #lisp
Oladon has quit [Quit: Leaving.]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
villanella has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
<jmercouris>
Josh_2: what is a usb array?
josemanuel has quit [Quit: leaving]
<sm2n>
unsigned byte
<jmercouris>
I see
anticrisis has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
karlosz has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
aartaka has joined #lisp
amb007 has quit [Read error: Connection reset by peer]