<pillton> You can even write the equivalent of a compiler macro for a specialization.
<aeth> pillton: It's used like this, right? https://gitlab.com/snippets/1691616
<aeth> (Although technically the fixnum one is incorrect because adding two fixnums doesn't necessarily produce a fixnum.)
<pillton> Yes, though I would use template-function for this problem.
<aeth> Well...
<aeth> Technically fixnum is going to have a different implementation
<aeth> If you want it to stay fixnum, you're going to have to do that.
<aeth> e.g. staying at the max finxum size or having it wrap around with modulus
<pillton> The image warping functions I have do that kind of thing.
<aeth> So inlining does work exactly as expected if I do (defun bar () (foo 1f0 2f0))
<aeth> With a not inline version of the same thing, in the disassembly I see #<FDEFN FOO>
<aeth> How do I know that it's using the correct foo? Or is that the runtime dispatch foo? Is that because I'm doing that in the REPL?
pierpa has joined #lisp
<pillton> You don't know. You have the same problem with macros.
<aeth> ah, never tell me I don't know
<pillton> What? It is the same problem with macros.
quazimodo has joined #lisp
<aeth> of course I know, I can just modify foo to print
<aeth> :-p
<pillton> Oh. The "You don't know." meant that it isn't possible to find out.
<aeth> wait, nevermind
<aeth> I'd need to modify the runtime dispatch version of foo to print
<aeth> Or to insert a (break) or something
<pillton> Oh, you mean the correct specialization?
<aeth> pillton: If I introduce an observable side effect to the runtime dispatch, I can see if a given function is using runtime dispatch
<aeth> right?
mishoo has quit [Remote host closed the connection]
<pillton> I'd probably trace specialization-store:expand-store.
mishoo has joined #lisp
<aeth> Yeah, that's more elegant than redefining it to insert a print statement.
<aeth> It's :: if anyone is following along at home
<aeth> wait, it's neither
<aeth> whoops, I wrote exapnd
<aeth> The new anti-aliasing is terrible.
<pillton> It should be exported. The expand-store function is part of the object protocol within SS's MOP.
<aeth> Looks like the trace only shows up in the REPL when I do something like this: (let ((foo (let ((rand (random 1))) (if (zerop rand) 1f0 1)))) (foo foo foo))
<aeth> It also shows up when I define any function
<aeth> e.g. (defun bar () (foo 1f0 2f0)) or (defun baz () (let ((foo (let ((rand (random 1))) (if (zerop rand) 1f0 1)))) (foo foo foo)))
<pillton> It all depends on when the implementation invokes compiler macros.
<aeth> (oooh, I need to use (random 2)
<aeth> This doesn't call the trace every time. (defun baz () (let ((foo (let ((rand (random 2))) (if (zerop rand) 1f0 1)))) (foo foo foo)))
<aeth> I'm not sure if that's because it's really smart or if runtime dispatch uses something else
quazimodo has quit [Ping timeout: 268 seconds]
<aeth> (I mean, calling baz... defining baz will produce the trace)
<pillton> Trace specialization-store:funcall-store.
<pillton> Expand-store is invoked when the function is compiled to see if any compile time optimizations can be performed.
<aeth> It still doesn't come up in SBCL
<aeth> But they call the same function in the disassembly. In fact, if I disassemble a foo-fn and a foo-sf, it looks like they call the same function in the disassembly. At least, if that's what this means; "MOV EAX, #x2054DF78"
<pillton> Trace specialization-store:specialization-function.
mishoo has quit [Ping timeout: 248 seconds]
<aeth> that gets called
<pillton> The function object bound to #'foo does not call funcall-store.
Khisanth has quit [Ping timeout: 268 seconds]
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
patche has joined #lisp
<aeth> Does this mean that when it's not inline SBCL always uses runtime dispatch to determine which foo to call, even when the types are known? e.g. (defun foo-sf () (foo 1f0 1f0)) (defun foo-fn () (foo 1 1))
patche is now known as scb
<aeth> The same trace shows up in CCL
<aeth> Interestingly, CCL gives a bogus warning when defining the functions themselves: In FOO-SF: In the call to FOO with arguments (1.0 1.0), 2 arguments were provided, but at most 0 are accepted by the current global definition of FOO
<pillton> Yes. The standard specifies that compiler macros are not invoked when a function is declared not inline.
megalography has quit [Quit: Leaving.]
<aeth> pillton: Does specialization-store have a way to inline the dispatch but not the function itself? Sometimes that might be the most performant option, if the function is very large but the type of the arguments in the calling function is known
<aeth> e.g. matrix multiplication
<jmercouris> jasom: I've found very extensive docs within the webkit source code
<jmercouris> I'm just kidding about the extensive part
Khisanth has joined #lisp
<jmercouris> jasom: here's the interface file https://gist.github.com/d641b6ed92f35ae3fea76ddec14717b4
<jmercouris> I wonder if JavaScriptCore ships with Webkit, or if it is a separate so file
<aeth> pillton: I guess it's possible with a combination of named specializations and expand functions, where the :expand-function calls the named specialization?
<pillton> aeth: Matrix multiplication is always part of a larger problem. If the larger problem wants to be efficient then it should declare the types.
osune has quit [Remote host closed the connection]
EvW has quit [Ping timeout: 265 seconds]
<aeth> pillton: is it intentional that define-specialization cannot use :name and defspecialization can?
<aeth> It looks like define-specialization doesn't support options, just the name
fikka has quit [Ping timeout: 248 seconds]
<pillton> Can you paste.
<aeth> This is pointless compared to just inlining it, I was just combining the two things in the tutorial other than inline in one place
<aeth> (define-specialization (foo :name %foo/single-float) ((x single-float) (y single-float)) single-float (:function (lambda (x y) (+ x y))) (:expand-function (specialization-store:compiler-macro-lambda (x y) `(+ ,x ,y))))
<aeth> "No store exists with name (FOO NAME %FOO/SINGLE-FLOAT)."
<aeth> And there's no problem with defspecialization: (defspecialization (foo :name %foo/fixnum) ((x fixnum) (y fixnum)) fixnum (+ x y))
FreeBirdLjj has joined #lisp
<pillton> (define-specialization foo ... (:name %foo/single-float))
markong has quit [Ping timeout: 252 seconds]
<aeth> The function COMMON-LISP-USER::%FOO/SINGLE-FLOAT is undefined.
Cymew has joined #lisp
<pillton> Looks like a bug.
<aeth> (define-specialization foo ((x single-float) (y single-float)) single-float (:name %foo/single-float) (:function (lambda (x y) (+ x y))) (:expand-function (specialization-store:compiler-macro-lambda (x y) `(+ ,x ,y))))
<aeth> This is the order, right?
<pillton> The order shouldn't matter. The expansion is wrong.
<pillton> I'll fix it over the weekend. I need to get back to work.
<aeth> okay, thanks
quazimodo has joined #lisp
<pillton> Thanks for trying that out. I don't mean to be rude. I just looked at the clock.
Cymew has quit [Ping timeout: 268 seconds]
cgay has quit [Ping timeout: 260 seconds]
<jasom> jmercouris: that looks like enough to go off of
cgay has joined #lisp
pfdietz has joined #lisp
sonologico has quit [Ping timeout: 248 seconds]
spoken-tales has joined #lisp
troydm has quit [Ping timeout: 264 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
<jmercouris> jasom: Yeah, probably, I'll take my first try at making these kinds of functions
<jmercouris> or whatever the forms called for declaring cffi interfaces are called
dustyweb has quit [Remote host closed the connection]
Oladon has joined #lisp
mejja has quit [Quit: mejja]
randomstrangerb has quit [Ping timeout: 240 seconds]
randomstrangerb has joined #lisp
drewc has joined #lisp
aindilis has quit [Remote host closed the connection]
spoken-tales has quit [Ping timeout: 240 seconds]
aindilis has joined #lisp
d4ryus1 has joined #lisp
d4ryus has quit [Ping timeout: 268 seconds]
orivej has quit [Ping timeout: 248 seconds]
orivej has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
broccoli1 has joined #lisp
broccolistem has quit [Ping timeout: 248 seconds]
damke_ has joined #lisp
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
damke has joined #lisp
Vicfred has joined #lisp
Karl_Dscc has quit [Remote host closed the connection]
fikka has joined #lisp
prometheus_falli has quit [Ping timeout: 272 seconds]
damke_ has quit [Ping timeout: 264 seconds]
ryanbw has quit [Ping timeout: 265 seconds]
aindilis has quit [Read error: Connection reset by peer]
fikka has quit [Ping timeout: 256 seconds]
smokeink has joined #lisp
ryanbw has joined #lisp
aindilis` has joined #lisp
spoken-tales has joined #lisp
prometheus_falli has joined #lisp
spoken-tales has left #lisp ["ERC (IRC client for Emacs 25.3.1)"]
meta-cod1r has joined #lisp
meta-cod1r has quit [Client Quit]
metaphysician has joined #lisp
metaphysician has quit [Client Quit]
krwq has joined #lisp
nika has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
ykoda has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
ykoda has joined #lisp
dddddd has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
fikka has joined #lisp
prometheus_falli has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 260 seconds]
prometheus_falli has joined #lisp
ykoda has quit [Remote host closed the connection]
kajo has joined #lisp
cibs has joined #lisp
<krwq> hello, I'm using cl-dbi to fetch couple of million rows from the postgres db. Currently my sbcl's memory is being exhausted when doing that - on my side I'm not allocating it - I believe this is happening due to: https://github.com/fukamachi/cl-dbi/blob/master/src/dbd/postgres.lisp#L95 (reading whole db to a list) - does anyone know any better alternatives? should I switch to postmodern or are there any better alter
<krwq> natives?
safe has joined #lisp
<pillton> Have you tried increasing the value given to sbcl --dynamic-space-size ?
<Oladon> krwq: You might also try clsql
<krwq> nope but I noticed that when I compile sbcl from sources and run gc in the loop it doesn't happen - the problem with newest sbcl is that some other libraries are not working correctly with it (I had problems with cepl and log4cl)
<krwq> will try passing that
<krwq> I feel like this is delaying the problem in time though...
igemnace has quit [Ping timeout: 252 seconds]
cibs has quit [Quit: leaving]
cibs has joined #lisp
marusich has joined #lisp
eschatologist has quit [Ping timeout: 276 seconds]
igemnace has joined #lisp
Kaisyu7 has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
orivej has quit [Ping timeout: 260 seconds]
test1600 has joined #lisp
hexfive has quit [Quit: WeeChat 1.9.1]
<sigjuice> is there a utility that will fetch a copy of the upstream version of a quicklisp release?
orivej has joined #lisp
troydm has joined #lisp
<jmercouris> sigjuice: Git :D
<jmercouris> sigjuice: I believe it was yourself that sent me the link to the QL repo/project mapping
<jmercouris> sigjuice: I mean this repository: https://github.com/quicklisp/quicklisp-projects
<sigjuice> yes, I did send you that link
<jmercouris> conceivably it should be possible to write such a utility, could be pretty useful
<jmercouris> if you want to work on such a tool I can help
<sigjuice> jmercouris thanks for your offer! I figured I can't be the first person with such a wish, so I asked here.
<jmercouris> I've never heard of such a tool, then again, I haven't heard of a lot of stuff :D best wait until Xach is online before departing on this journey
<jmercouris> just in case
scb has quit [Ping timeout: 264 seconds]
<sigjuice> so far I have been looking at the quicklisp-projects repo and manually fetching copies to my quicklisp/local-projects
troydm has quit [Ping timeout: 265 seconds]
<jmercouris> yeah, we could very easily automate it though I think, I have a feeling there is someway to do it already via quicklisp though, mayb
smurfrobot has joined #lisp
schoppenhauer has quit [Ping timeout: 240 seconds]
schoppenhauer has joined #lisp
smurfrobot has quit [Ping timeout: 248 seconds]
troydm has joined #lisp
troydm has quit [Ping timeout: 252 seconds]
zooey has quit [Remote host closed the connection]
zooey has joined #lisp
pierpa has quit [Quit: Page closed]
<jmercouris> is this user on IRC: https://github.com/vindarel?
turkja has joined #lisp
scb has joined #lisp
fikka has joined #lisp
quazimodo has quit [Ping timeout: 264 seconds]
sonologico has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
igemnace has quit [Read error: Connection reset by peer]
igemnace has joined #lisp
<aeth> Interesting, people are doing JVM->WASM and WASM->JVM already. https://news.ycombinator.com/item?id=16075933
<aeth> (1) It could make ABCL usable
<Zhivago> Javascript is the new C.
<aeth> (2) It brings up an interesting idea of going WASM->Lisp
<Zhivago> Why WASM->Lisp?
Bike has quit [Quit: Lost terminal]
<aeth> Everything is going to eventually compile to WASM one day.
<aeth> Now all of those things run on Mezzano too with a portable WASM->Lisp
<Zhivago> Sure, so why wouldn't you be looking at Lisp->WASM?
drdo has quit [Ping timeout: 246 seconds]
<aeth> That's going to happen for sure. ABCL might work with JVM -> WASM and Clasp might work with LLVM -> WASM without much extra effort.
<aeth> (They probably don't work yet, though.)
quazimodo has joined #lisp
thinkpad has quit [Quit: lawl]
<jmercouris> aeth: you'll still probably want some layer in between to work with the dom and stuff like that though, you'll need to extend the language in some meaningful way
drdo has joined #lisp
<jmercouris> that would be a good lib projec
<jmercouris> wasm is still so young though
thinkpad has joined #lisp
oleo has quit [Quit: Leaving]
jmercouris has quit [Ping timeout: 248 seconds]
<dmiles> admittedly aeth's idea is appealing to have a WASM->Lisp
<dmiles> are there x86 emulators in lisp presently?
<rme> I have worked with a client who uses CL to model x86 cpus. But not in the sense of "run Windows on this Lisp-emulated x86".
<dmiles> yeah actually as i think harder (that is what i meant "run Windows on this Lisp-emulated x86") it would be an entire system like VM i would be thinking of
brendyn has joined #lisp
smurfrobot has joined #lisp
<dmiles> the benefits would be abstractions available on the level of the machine instance i suppose
<dmiles> " system like VM " " system like VMWare"
scb has quit [Quit: Lost terminal]
smurfrobot has quit [Ping timeout: 240 seconds]
Yun has joined #lisp
damke has quit [Read error: Connection reset by peer]
damke has joined #lisp
damke_ has joined #lisp
damke has quit [Ping timeout: 264 seconds]
Oladon has quit [Quit: Leaving.]
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rippa has joined #lisp
patche has joined #lisp
patche is now known as scb
scb is now known as sebbot
LocaMocha has joined #lisp
knobo has joined #lisp
shka has joined #lisp
sonologico has quit [Quit: WeeChat 1.9.1]
eviltofu has joined #lisp
smurfrobot has joined #lisp
makomo has quit [Ping timeout: 248 seconds]
Arcaelyx_ is now known as Arcaelyx
<eviltofu> Hello again! In (defmethod add-list-of-symbols-to-object ((alist cons))) where I add a list of symbols to something, is there a way to specify that the list has to be symbols only or should the code not care?
smurfrobot has quit [Ping timeout: 260 seconds]
<pillton> No. Methods can only dispatch on classes and there is no class representing a list of symbols.
<eviltofu> ok
<eviltofu> so the (alist cons) doesn't actually work, I can just remove it
<pillton> It should work since cons is a system class.
<pillton> clhs cons/t
quazimodo has quit [Ping timeout: 268 seconds]
<eviltofu> okies thanks
fikka has joined #lisp
<pillton> Note that the variable name alist usually represents an "associative list".
<eviltofu> Ok.
<eviltofu> I'll use some-list next time.
<pillton> For example, the assoc function.
<pillton> clhs assoc
<jackdaniel> EvilTofu: check out https://github.com/pcostanza/filtered-functions
krwq has quit [Remote host closed the connection]
<pillton> My apologies: association list.
<jackdaniel> it uses mop to give you more flexibility on method dispatch
<eviltofu> So I can actually provide two methods where one is a list of symbols and one where the parameter is a symbol.
<pillton> There is also specialization-store which allows you to dispatch on type.
<eviltofu> okies, will look into these.
* pillton shamelessly advertises himself.
<jackdaniel> oh, its yourse :)
<jackdaniel> yours*
<pillton> I didn't know about filtered functions.
fikka has quit [Ping timeout: 264 seconds]
JuanDaugherty has joined #lisp
dec0n has joined #lisp
scymtym has quit [Ping timeout: 248 seconds]
brendyn has quit [Read error: No route to host]
hibikelel has joined #lisp
<hibikelel> Hello
<hibikelel> Wondering if there's somebody up this late who can help me with a bit of a quandry
<hibikelel> I'm a novice programmer, and even that's stretching it, I've got a very shallow knowledge of a wide number of languages but couldn't code my way out of a paper bag when you get down to it
<hibikelel> Out of all the languages I've messed around with Lisp seems to be the only language/family I can see myself doing any long-term work in, at least for fun
<hibikelel> Dedided I'd work on a much larger project, really test my skills, I've never done anything with 3d graphics before so I figured I'd tinker around, trouble is there doesn't seem to be any libraries written, in racket anyway, for any openGL implementation after 1.5 which is pretty out of date at this point
<hibikelel> Should I just switch to another language or might it be worth writing some wrapper functions for a C graphics lib
<|3b|> #scheme or #racket might know more about scheme/racket bindings, this channel is mostly about common lisp, for which there is cl-opengl
<JuanDaugherty> RECOMMEND: reevaluate your judgement on the graphics library, do more research and go with best you can find in time you have
<hibikelel> You know I've been bouncing between implementations for a while and I'm not against using CL, I guess I'll give that a shot
<JuanDaugherty> and obviously continue with lisp, but there is a cl vs scheme decision to make
<hibikelel> Worked through most of SICP, read a bunch of Scheme books, Little Schemer, then Realm of Racket, about halfway through HTDP
<JuanDaugherty> how long since you wrote your first program?
<hibikelel> Never done any 'serious' work however, and while it's a true statement that I have no idea what the fcuk I'm doing I feel I know enough to figure it out
<JuanDaugherty> programming and programming for a living are two quite different things
<hibikelel> Let's see... I must have written my first real python program in 2014 but I didn't keep up with it, I did about jack shit until I wanna say three months ago
<hibikelel> Always felt like it was beyond me
<eviltofu> If I want a function that adds a connection from one node to another (add-connection node1 node2) but I want the option of a bidirectional connection and want a (add-connection node1 node2 :bidirectional), how should this be implemented? And is this a valid lisp way of doing this?
glamas has joined #lisp
<hibikelel> Built up the vocabulary, finally beat it into my skull what exactly constitutes a class (no I didn't, every language changes it around) and I have trouble staying on one language when I get bored, I've got knowledge as broad as a gorge, deep as a puddle
Kaisyu7 has joined #lisp
smokeink has quit [Ping timeout: 260 seconds]
<eviltofu> I use (defun add-connection (n1 n2 &rest keywords) ... ) ?
<hibikelel> I've probably made it through the first half of close to a dozen different books on nearly as many languages, and god knows how many tutorials
<JuanDaugherty> in computer programming, unlike comparable professions, there's a forced dilletantism that comes from the impact of its history and role in the capital system
<|3b|> EvilTofu: usually you would have (add-connection node1 node2 :bidirectional t), and use &key
<JuanDaugherty> so even before the decisions mentioned there seems to be one of seriousness
<eviltofu> okies
<eviltofu> so this should be :bidirectional nil if I want it not to be the default?
<hibikelel> I don't intend to become some master-programmer who reinvents everything about modern society, nice as that would be, when you get down to it I just want to hack around with pretty pictures
glamas has quit [Client Quit]
<|3b|> EvilTofu: not sure what you mean
<hibikelel> Have a neat idea for a simple 3rd person shooter, don't even intend to sell it, just show off to some friends, I'd be surprised if whatever I come up with would be considered passable on the ps1
<eviltofu> The default is not bidirectional but one way.
<eviltofu> oh I see
versatile has joined #lisp
<JuanDaugherty> hibikelel, it is probably inappropriate for you to try to do a lisp app for ps1
<eviltofu> <|3b|> I see
<|3b|> (add-connection node1 node2) would get default, which is specified in the DEFUN
<|3b|> &key bidirectional, or &key (bidirectional nil) would specify NIL as default
<hibikelel> Not what I meant, I was trying to say that the level of quality I'm shooting for here wouldn't have made a passable game on that platform, not that I'm actually intending to write a game for the ps1
<hibikelel> That said interestingly enough Crash Bandicoot was written in a proprietary lisp dialect called GOOL
<|3b|> you could also pass :bidirectional nil if you wanted to be explicit at the call site (or if you wanted to pass it on from another variable or similar)
shka has quit [Ping timeout: 265 seconds]
<JuanDaugherty> i still am unable to determine the nature of the specific paedagogical emergency
<|3b|> there is also the option when writing the defun to determine if :bidirectional was specified at all when you want more complicated defaulting behavior, but usually you don't need that
<hibikelel> I was just having trouble finding a 3d graphics library for racket, folks in here reccomended cl
<JuanDaugherty> hibikelel, do you mean the folks in #racket/#scheme recommended cl?
<|3b|> hibikelel: note that 'here' is a bit biased, other channels might have other biases and thus other suggestions :)
<hibikelel> folks in this channel reccomended cl, I connected to #lisp thinking it was a general lisp chanel, unaware there was chanels for specifict dialects
<hibikelel> yeah I'm aware
<JuanDaugherty> well this is a CL channel
<hibikelel> I'll be popping over to #scheme and #racket momentarily
<hibikelel> I know that, now
<|3b|> you might also try #lispgames (not CL specific, but mostly CL)
<hibikelel> That's a good suggestion
SaganMan has joined #lisp
<JuanDaugherty> fwiw, i move freely across lang cultures but for you that's probably inappropriate. I wrote my first program in 1974, went to college for it, had a long career, etc
<hibikelel> awesome, as much as I'd like to have a career in programming one day I'm not sure that I'm cut out for it, I'd prefer to keep it as a neat hobby rather than anything I do too seriously. No offense to those who do so for a living but I like the unconstrained nature of a blank editor, allowing me to work on/tinker with whatever I feel like, having to maintain someone else's software as product seems like
<hibikelel> it'd kind of suck the fun out.
yeticry has quit [Ping timeout: 252 seconds]
<JuanDaugherty> that is the common reaction to doing it under the capital system, the major alternative is academic/scientific computing
<JuanDaugherty> and the dilletantism you seem to be headed for was once common, still is a thing i think
yeticry has joined #lisp
damke_ has quit [Read error: Connection reset by peer]
<JuanDaugherty> and extremely common pattern was for people to get sucked in from other disciplines, especially technical ones and then burn out on the noxious character of the industry
damke_ has joined #lisp
<hibikelel> I've always loved computing, but I'm more of a technician than a programmer, ressurected the laptop I'm typing this on from a chinese electronics-scrapper, had almost no parts, not even a display, ordered all of that and assembled the machine, turns out the backlight-fuse was blown, so I did my first soldering job on this thing, pretty proud of it in all honesty
<JuanDaugherty> s/dilletante/hobbyist/
orivej has quit [Ping timeout: 248 seconds]
daemonbsd56 has joined #lisp
<hibikelel> I mean what can be said for the commercialization of the technical sector, the advent of the microprocessor didn't exactly change everything about everything overnight, but it certainly made a massive impact once consumer-grade computers were in the hands of the masses, from there the internet supercharged things
<hibikelel> It was an inevitability
knobo has quit [Ping timeout: 248 seconds]
<JuanDaugherty> 'the commercialization of the technical sector' may make sense in china or russia, but the technical sector originated in and never left the technical sector
<JuanDaugherty> in the non socialist world
<JuanDaugherty> never left the circuit of capital production
eviltofu has quit [Ping timeout: 260 seconds]
FreeBirdLjj has quit [Ping timeout: 248 seconds]
sebastien_ has quit [Quit: KPTI reboot]
FreeBirdLjj has joined #lisp
damke has joined #lisp
<hibikelel> Perhaps that was a poor turn of phrase, I was attempting to articulate the transition of general computing from the past-time of academics and amateur programmers through the mid-sixties into the late-seventies, into what we wolud consider the modern information economy. Time was unless you were manufacturing hardware there was almost no money to be made in computing outside of supporting a corporate
smurfrobot has joined #lisp
<hibikelel> mainframe
<JuanDaugherty> yeah that's just false
<JuanDaugherty> computing has always had a military/commercial grounding
<JuanDaugherty> even mathematics itself arose in the practical activities of accounting, surveying, etc
sebastien_ has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
damke_ has joined #lisp
daemonbsd56 has quit [Ping timeout: 255 seconds]
smurfrobot has quit [Ping timeout: 248 seconds]
sebbot has quit [Quit: Lost terminal]
damke has quit [Ping timeout: 264 seconds]
<JuanDaugherty> probably the height of what you are talking about was in the late 70s and early 80s, a fairly brief time, less than a decade
uuplusu has joined #lisp
<JuanDaugherty> anyway, as far as your original paedogogical emergency, i'd give portacle a try, use the libs it provides
uuplusu_ has joined #lisp
uuplusu has quit [Read error: No route to host]
hibikelel has quit [Quit: leaving]
knobo has joined #lisp
hajovonta has joined #lisp
trittweiler has joined #lisp
Cymew has joined #lisp
<hajovonta> good morning!
uuplusu_ has quit [Remote host closed the connection]
<beach> Good morning everyone!
scymtym has joined #lisp
Jarwin has joined #lisp
Jarwin is now known as Jarwin
eviltofu has joined #lisp
eviltofu is now known as EvilTofu
<fe[nl]ix> 'morning beach
EvilTofu has quit [Client Quit]
EvilTofu has joined #lisp
EvilTofu is now known as EvilTofu
nowhereman has quit [Ping timeout: 240 seconds]
<beach> The ELS program committee is taking shape.
pjb has joined #lisp
safe has quit [Quit: Leaving]
groovy2shoes has quit [Ping timeout: 250 seconds]
eschatologist has joined #lisp
fikka has joined #lisp
mhd has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
drcode has quit [Ping timeout: 248 seconds]
damke_ has quit [Ping timeout: 264 seconds]
damke_ has joined #lisp
<hajovonta> hi beach!
<beach> hajovonta: Are you planning to go to ELS this year?
<EvilTofu> What is ELS?
<hajovonta> I'm planning it every year, but family issues usually hold me back
EvilTofu has quit [Quit: EvilTofu]
<jackdaniel> EvilTofu: European Lisp Symposium
<hajovonta> also, it's a lot of money just to travel and stay, and in the past few years it was nearly impossible to embark on the journey
zooey has quit [Remote host closed the connection]
zooey has joined #lisp
<hajovonta> where will it take place this year?
<beach> Marbella
JonSmith has quit [Remote host closed the connection]
mishoo has joined #lisp
uuplusu has joined #lisp
mingus has quit [Remote host closed the connection]
EvilTofu has joined #lisp
mingus has joined #lisp
quazimodo has joined #lisp
nirved has joined #lisp
Jarwin has quit [Ping timeout: 248 seconds]
versatile has quit [Quit: WeeChat 1.4]
vlatkoB has joined #lisp
quazimodo has quit [Ping timeout: 240 seconds]
versatile has joined #lisp
orivej has joined #lisp
smurfrobot has joined #lisp
smurfrobot has quit [Remote host closed the connection]
smurfrobot has joined #lisp
nsrahmad has joined #lisp
milanj has joined #lisp
SaganMan has quit [Quit: WeeChat 1.6]
jpxe has joined #lisp
smurfrobot has quit [Remote host closed the connection]
smurfrobot has joined #lisp
JonSmith has joined #lisp
nowhereman has joined #lisp
prometheus_falli has quit [Ping timeout: 272 seconds]
sebastien_ has quit [Ping timeout: 252 seconds]
Jarwin has joined #lisp
sebastien_ has joined #lisp
JonSmith has quit [Ping timeout: 240 seconds]
smurfrobot has quit [Remote host closed the connection]
Kaisyu has quit [Quit: Connection closed for inactivity]
nowhereman has quit [Ping timeout: 240 seconds]
Jarwin has quit [Ping timeout: 240 seconds]
prometheus_falli has joined #lisp
smurfrobot has joined #lisp
no_bobby has joined #lisp
manualcrank has quit [Quit: WeeChat 2.0.1]
nowhereman has joined #lisp
fikka has joined #lisp
_cosmonaut_ has joined #lisp
fikka has quit [Ping timeout: 265 seconds]
smurfrobot has quit [Remote host closed the connection]
no_bobby has quit [Ping timeout: 248 seconds]
random-nick has joined #lisp
nsrahmad has quit [Ping timeout: 252 seconds]
orivej has quit [Ping timeout: 240 seconds]
drcode has joined #lisp
ym has quit [Quit: Leaving]
fikka has joined #lisp
test1600 has quit [Quit: Leaving]
nika has quit []
orivej has joined #lisp
shifty779 has quit [Quit: Leaving]
igemnace has quit [Quit: WeeChat 2.0.1]
shifty has joined #lisp
damke has joined #lisp
smurfrobot has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
damke_ has joined #lisp
EvilTofu has quit [Quit: eviltofu]
damke has quit [Ping timeout: 264 seconds]
m00natic has joined #lisp
nowhereman has quit [Ping timeout: 256 seconds]
orivej has quit [Ping timeout: 264 seconds]
markong has joined #lisp
FareTower has joined #lisp
smurfrobot has quit [Remote host closed the connection]
namra has joined #lisp
<namra> greetings
<namra> i'm pretty new to lisp and trying to read from a stream (that is returned instead of a string) as the response body of a get request using dexador
smurfrobot has joined #lisp
<namra> to read from it i do the following: https://pastebin.com/4aeS8n4Z
<namra> thought that actually doesn't read anything from the stream, and i just can't figure out why
<namra> (read-line response) works fine though
vap1 has quit [Ping timeout: 240 seconds]
<pillton> aeth: That bug is now fixed in master.
Tobbi has joined #lisp
thijso has quit [Read error: Connection reset by peer]
<FareTower> namra, did something else read everything from the stream?
<FareTower> is it a binary stream or a character stream?
<namra> it's a BABEL:UNICODE-CHAR stream
<namra> i don't know if some of the dexador code read from the stream prior, which actually doesn't seem reasonable because it wouldn't make sense to return the stream than. though any code i wrote doesn't read from it prior to that.
<namra> i also tried it with a binary stream
<FareTower> is that an alias for character, on sbcl?
<namra> sorry FareTower but i don't know
smurfrobot has quit [Remote host closed the connection]
<namra> hm babel is a CL charset encoding/decoding library
<FareTower> I know of babel. If you M-. on BABEL:UNICODE-CHAR it should take you to the definition.
Yun has quit [Quit: Yun]
<namra> yep it's an alias for character
panji has joined #lisp
<FareTower> ok, so can you read-line from that stream?
<namra> yes
<FareTower> but read-sequence fails to read even one character?
<namra> that is correct
<FareTower> or is your sequence of effective size 0?
<namra> nope i set it to 1024
<FareTower> :fill-pointer 0
<namra> (make-array 1024 :fill-pointer 0 :adjustable t :element-type (stream-element-type response))
<FareTower> :fill-pointer 0
shrdlu68 has joined #lisp
<FareTower> maybe instead you should save the value given by read-sequence, and use it to set fill-pointer, or something
<namra> the hyperspec states that read-sequence returns the position into the sequence (basically how many chars in this case have been read), but it always returns 0
<FareTower> because you set fill-pointer to 0
<FareTower> set the fill-pointer to 1024
<FareTower> read-sequence is not magic
fikka has quit [Ping timeout: 264 seconds]
<FareTower> it's not call read-sequence-extend
<FareTower> (by anology with vector-push-extend)
<namra> oh i see
<namra> thank you very much
<FareTower> now you're it
<namra> i thought read-sequence is advancing the fill-pointer
<FareTower> to help the next newbie
<FareTower> so did i, probably, once long time ago
FreeBirdLjj has quit [Remote host closed the connection]
<FareTower> and yes, if alexandria doesn't have a read-sequence-extend function, maybe you can contribute it. Or to another library
JuanDaugherty has quit [Quit: Ex Chat]
<Shinmera> Doesn't uiop have a thing to read a stream to a sequence?
<FareTower> read-file-string you mean?
<namra> alexandria does have this -> READ-STREAM-CONTENT-INTO-STRING
<FareTower> yes, it does, but this gentleman is reading from a stream. Maybe he wants slurp-stream-string.
<shrdlu68> There doesn't seem to be a "maxcol" print arg to the ~D format directive. How does one limit the maximum width?
JuanDaugherty has joined #lisp
smurfrobot has joined #lisp
hhdave has joined #lisp
JonSmith has joined #lisp
smurfrobot has quit [Ping timeout: 256 seconds]
gabiruh has quit [Quit: ZNC - 1.6.0 - http://znc.in]
vap1 has joined #lisp
JonSmith has quit [Ping timeout: 252 seconds]
<namra> shrdlu68: maybe you can achieve that with a conditional format directive, where the first argument checks if the number is to large
vaporatorius has joined #lisp
<shrdlu68> namra: I can do that.
fikka has joined #lisp
wxie has joined #lisp
smurfrobot has joined #lisp
<namra> (format nil "~@[~D~]" (not-to-large number))
gabiruh has joined #lisp
smurfrobot has quit [Ping timeout: 252 seconds]
gtuser has joined #lisp
FreeBirdLjj has joined #lisp
neuri8 has quit [Quit: L]
FreeBirdLjj has quit [Ping timeout: 248 seconds]
raynold has quit [Quit: Connection closed for inactivity]
orivej has joined #lisp
zaquest has quit [Ping timeout: 248 seconds]
vap1 has quit [Quit: Leaving]
FreeBirdLjj has joined #lisp
prometheus_falli has quit [Remote host closed the connection]
prometheus_falli has joined #lisp
Cymew has quit [Remote host closed the connection]
gravicappa has joined #lisp
Bike has joined #lisp
Karl_Dscc has joined #lisp
panji has left #lisp [#lisp]
Cymew has joined #lisp
zaquest has joined #lisp
rpg has joined #lisp
Cymew has quit [Ping timeout: 265 seconds]
djh has quit [Ping timeout: 256 seconds]
FreeBirdLjj has quit [Ping timeout: 268 seconds]
djh has joined #lisp
LocaMocha has quit [Ping timeout: 240 seconds]
damke has joined #lisp
zooey has quit [Remote host closed the connection]
zooey has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
smurfrobot has joined #lisp
tlaxkit has joined #lisp
random-nick has quit [Remote host closed the connection]
smurfrobot has quit [Ping timeout: 240 seconds]
wxie has quit [Remote host closed the connection]
LocaMocha has joined #lisp
random-nick has joined #lisp
emacsomancer has joined #lisp
m00natic has quit [Quit: ERC (IRC client for Emacs 26.0.90)]
m00natic has joined #lisp
jsambroo_ has joined #lisp
dec0n_ has joined #lisp
fikka has quit [Read error: Connection reset by peer]
fikka has joined #lisp
hajovonta has quit [Remote host closed the connection]
hajovonta has joined #lisp
fluke`` has joined #lisp
jsambrook has quit [Read error: Connection reset by peer]
gravicappa has quit [Ping timeout: 248 seconds]
dec0n has quit [Ping timeout: 248 seconds]
ikopico has quit [Ping timeout: 248 seconds]
Oddity has quit [Ping timeout: 248 seconds]
norserob has quit [Ping timeout: 248 seconds]
shifty has quit [Ping timeout: 276 seconds]
norserob has joined #lisp
FreeBirdLjj has joined #lisp
fluke` has quit [Ping timeout: 248 seconds]
fortitude has joined #lisp
ikopico has joined #lisp
mnoonan has quit [Remote host closed the connection]
eSVG has quit [Ping timeout: 265 seconds]
Oddity has joined #lisp
Oddity has quit [Changing host]
Oddity has joined #lisp
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #lisp
FreeBirdLjj has quit [Ping timeout: 248 seconds]
orivej has quit [Ping timeout: 260 seconds]
orivej has joined #lisp
josemanuel has joined #lisp
LiamH has joined #lisp
JonSmith has joined #lisp
trittweiler has quit [Remote host closed the connection]
trittweiler has joined #lisp
JonSmith has quit [Ping timeout: 252 seconds]
trittweiler has quit [Ping timeout: 240 seconds]
al-damiri has joined #lisp
smurfrobot has joined #lisp
smurfrobot has quit [Ping timeout: 248 seconds]
warweasle has joined #lisp
FreeBirdLjj has joined #lisp
zooey has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 276 seconds]
zooey has joined #lisp
rumbler31 has joined #lisp
hajovonta has quit [Quit: hajovonta]
rpg has quit [Quit: Textual IRC Client: www.textualapp.com]
kushal has quit [Read error: Connection reset by peer]
fikka has joined #lisp
Ellusionist has joined #lisp
Jesin has quit [Quit: Leaving]
smurfrobot has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
attila_lendvai has joined #lisp
smurfrobot has quit [Remote host closed the connection]
resttime has joined #lisp
Jesin has joined #lisp
fikka has quit [Ping timeout: 264 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
kushal has joined #lisp
FreeBirdLjj has joined #lisp
kushal is now known as Guest41649
oleo has joined #lisp
JonSmith has joined #lisp
Guest41649 is now known as kushal
kushal has quit [Changing host]
kushal has joined #lisp
JonSmith has quit [Ping timeout: 240 seconds]
FreeBirdLjj has quit [Ping timeout: 240 seconds]
fluke`` has quit [Ping timeout: 276 seconds]
smurfrobot has joined #lisp
shrdlu68 has quit [Ping timeout: 260 seconds]
Ellusionist has quit [Ping timeout: 252 seconds]
knobo has quit [Ping timeout: 252 seconds]
broccoli1 has quit [Read error: Connection reset by peer]
dddddd has joined #lisp
broccolistem has joined #lisp
EvW1 has joined #lisp
nika has joined #lisp
turkja has quit [Ping timeout: 240 seconds]
FreeBirdLjj has joined #lisp
mishoo_ has joined #lisp
mishoo has quit [Ping timeout: 240 seconds]
smurfrobot has quit [Remote host closed the connection]
FreeBirdLjj has quit [Ping timeout: 260 seconds]
dec0n_ has quit [Read error: Connection reset by peer]
_cosmonaut_ has quit [Ping timeout: 268 seconds]
Colleen has quit [Quit: Colleen]
malice has joined #lisp
gravicappa has joined #lisp
knobo has joined #lisp
jmercouris has joined #lisp
Vicfred has quit [Quit: Leaving]
ryanbw has quit [Ping timeout: 265 seconds]
Folkol has joined #lisp
FreeBirdLjj has joined #lisp
asarch has joined #lisp
FreeBirdLjj has quit [Ping timeout: 248 seconds]
JonSmith has joined #lisp
FreeBirdLjj has joined #lisp
mo` has joined #lisp
<mo`> hey, is there a way to run Emacs functions from a lisp program, I use slime and sbcl ?
knobo has quit [Read error: Connection reset by peer]
<_death> swank:eval-in-emacs?
FreeBirdLjj has quit [Ping timeout: 240 seconds]
smurfrobot has joined #lisp
<mo`> _death: thanks I will look into it
knobo has joined #lisp
AntiSpamMeta has quit [Excess Flood]
AntiSpamMeta has joined #lisp
FreeBirdLjj has joined #lisp
<mo`> _death: thanks this works.
<mo`> how do I get help for a function or variable in slime ?
<jmercouris> mo`: DO you mean a CL variable or an Elisp variable?
<warweasle> mo`: Do you mean slime-apropos?
<mo`> yeah I mean a CL variable
makomo has joined #lisp
Ellusionist has joined #lisp
uuplusu has quit [Remote host closed the connection]
<jmercouris> mo`: You can do something like describe
Shinmera is now known as TyColleen
<jmercouris> clhs describe
<jmercouris> there's also documentation
<jmercouris> clhs documentation
<jmercouris> documentation sounds closer to what you're looking for
<malice> you can also inspect
<malice> that won't show help, but you can look at some objects
<jmercouris> So an example might be something like (documentation *variable-name* 'variable)
TyColleen is now known as Shinmera
fnodeuser has joined #lisp
TyColleen has joined #lisp
mo` has quit [Ping timeout: 240 seconds]
<papachan> there is no "sdraw" package at quicklisp?
<Xach> No
namra has quit [Ping timeout: 260 seconds]
<jmercouris> Xach: Is there a way to fetch the latest upstream version of a project available in quicklisp?
<Xach> jmercouris: not directly, but all upstream sources are tracked in the quicklisp-projects github repo
<jmercouris> Ok, just wanted to confirm that, thinking about writing a tool
uuplusu has joined #lisp
FreeBirdLjj has quit [Ping timeout: 264 seconds]
<jmercouris> sigjuice: Confirmation at this point in time
Ellusionist has quit [Ping timeout: 264 seconds]
hhdave has quit [Ping timeout: 240 seconds]
<Xach> jmercouris: i do intend to ship that data with quicklisp dists soon
nika has quit [Quit: Leaving...]
uuplusu has quit [Ping timeout: 264 seconds]
attila_lendvai has quit [Ping timeout: 272 seconds]
engblom has quit [Remote host closed the connection]
ikki has quit [Ping timeout: 268 seconds]
<jmercouris> Xach: I remember you told me some time ago, but let's say you have something installed via quicklisp, and something in your local-projects dir, how does ql decide which to load?
<Xach> jmercouris: local-projects takes precedence always.
<jmercouris> Ok good, that should make this tool work then
<Xach> as well as any other system visible through asdf's registry system
<Xach> quicklisp-provided projects are the last resort
<jmercouris> i guess that makes sense, becaause the user would have to manually do that meaning that is likely their intent
<papachan> is this correct? (not (append '() '()))
<papachan> its en empty list
tomlukeywood has joined #lisp
uuplusu has joined #lisp
<jmercouris> If you append an emtpy list to an empty list, I expect you'd get an empty list
alexmlw has joined #lisp
orivej has quit [Ping timeout: 252 seconds]
uuplusu has quit [Ping timeout: 248 seconds]
<papachan> ah ok i found something better so: (find-if #'identity (append '() '()))
nowhere_man has joined #lisp
fnodeuser has left #lisp [#lisp]
uuplusu has joined #lisp
Jesin has quit [Quit: Leaving]
varjagg has joined #lisp
Shinmera is now known as Colleen
SaganMan has joined #lisp
Colleen is now known as Shinmera
TyColleen is now known as Colleen
Karl_Dscc has quit [Remote host closed the connection]
uuplusu has quit [Ping timeout: 248 seconds]
mint has quit [Read error: Connection reset by peer]
uuplusu has joined #lisp
ryanbw has joined #lisp
uuplusu_ has joined #lisp
uuplusu has quit [Read error: Connection reset by peer]
<jmercouris> papachan: What do you mean better? if we don't know what the program is supposed to do, what is better or worse? You need to provide some context
FreeBirdLjj has joined #lisp
djinni` has quit [Quit: Leaving]
makomo has quit [Ping timeout: 264 seconds]
djinni` has joined #lisp
smurfrobot has quit [Remote host closed the connection]
Cymew has joined #lisp
Cymew has quit [Ping timeout: 260 seconds]
FreeBirdLjj has quit [Ping timeout: 265 seconds]
uuplusu_ has quit [Remote host closed the connection]
Ellusionist has joined #lisp
Ellusionist has quit [Ping timeout: 240 seconds]
uuplusu has joined #lisp
FreeBirdLjj has joined #lisp
aanand` has joined #lisp
uuplusu has quit [Ping timeout: 252 seconds]
qjube has joined #lisp
<phoe> papachan: your program is equivalent to
<phoe> '()
<Shinmera> Which is also the same as ()
<warweasle> Which is the name as nil.
<Shinmera> And the same as an infinity of other forms
uuplusu has joined #lisp
FreeBirdLjj has quit [Ping timeout: 256 seconds]
SaganMan has quit [Quit: mata ashita]
FreeBirdLjj has joined #lisp
uuplusu has quit [Ping timeout: 240 seconds]
nowhereman_ has joined #lisp
EvW1 has quit [Ping timeout: 246 seconds]
nowhere_man has quit [Ping timeout: 264 seconds]
uuplusu has joined #lisp
marcux has joined #lisp
makomo has joined #lisp
uuplusu has quit [Ping timeout: 268 seconds]
<phoe> we need to hold a contest
<phoe> the most bizarre and unexpected way of writing a form that evaluates to NIL
<phoe> ...possibly without side effects
FreeBirdLjj has quit [Ping timeout: 248 seconds]
Ellusionist has joined #lisp
uuplusu has joined #lisp
shka has joined #lisp
<rme> (setq)
FreeBirdLjj has joined #lisp
<phoe> rme: unexpectedly satisfying
<Xach> rme: Nice! Wow!
uuplusu has quit [Ping timeout: 268 seconds]
<Xach> That is going to save me so much time in macros! Maybe!
<phoe> Xach: how?
<rme> That's one of my favorites.
<Xach> phoe: no need to check if i have a non-nil number of things to setf
<Xach> `(setf ,@assignments) where assignments might be empty just works
<phoe> oh wait
<phoe> (setf) works as well
<Xach> This is a little tongue in cheek. Macros are the only reason I can imagine for allowing an empty setq/setf
<phoe> holy cow, niiiiice
<Xach> It wouldn't affect me personally in any way I can think of.
smurfrobot has joined #lisp
uuplusu has joined #lisp
orivej has joined #lisp
uuplusu has quit [Ping timeout: 263 seconds]
ryanbw has quit [Ping timeout: 268 seconds]
<kolb> is there a name for this (imho defining) property of Lisp that things like `(setf ,@bindings) work? This is how I got to appreciate it the most: http://people.cs.uchicago.edu/~wiseman/humor/large-programs.html
<Xach> Wow, interesting that lemonodor's college page is still up.
<phoe> kolb: you mean backquote?
uuplusu has joined #lisp
<phoe> homoiconicity?
<kolb> phoe: no I mean the fact that nil is a boolean, a symbol, a list, the "null value", things like (setq) work, ...
<kolb> see my link
smurfrobot has quit [Remote host closed the connection]
<kolb> I guess its a design principle
smurfrobot has joined #lisp
<phoe> "CDR didn't think that NIL was much fun"
<phoe> oh, he used Scheme. poor man
<kolb> exactly
<Xach> kolb: I think so
<Xach> kolb: there's a willingness to be ugly to work
<_death> pragmatism
<phoe> ^
<kolb> I think doug hoyte had a term in LoL
<kolb> I think pragmatism is way too generic and doesn’t describe the thing
<warweasle> I would like scheme if it had defmacro and CLOS.
FreeBirdLjj has quit [Read error: Connection timed out]
<kolb> doug hoyte called it "dualisms" IIRC
<warweasle> Also, I'm not a huge fan of #t, #f, (), all being different things.
<phoe> warweasle: I actually like #t and #f being different things
<warweasle> Well, #t should be (not #f)
<kolb> and doug claimed that these dualisms relate directly to expressiveness
fluke`` has joined #lisp
<phoe> makes for useful stuff, like, for example, boolean logic
<warweasle> phoe: I can understand the argument, so that's why it's not a deal breaker.
<_death> equivocation
uuplusu has quit [Ping timeout: 260 seconds]
<kolb> _death: that’s a fancy word for ambiguous ;-P
<shka> good evening
malice has quit [Remote host closed the connection]
<_death> kolb: a term is ambiguous, the use of ambiguity is equivocation
CharlieBrown has quit [Ping timeout: 264 seconds]
foom2 has joined #lisp
<shka> scheme is perfect education medium
Ellusionist has quit [Ping timeout: 252 seconds]
<shka> and should be recognized as such
uuplusu has joined #lisp
CharlieBrown has joined #lisp
foom has quit [Ping timeout: 252 seconds]
vlatkoB has quit [Remote host closed the connection]
uuplusu has quit [Ping timeout: 256 seconds]
uuplusu has joined #lisp
loli has quit [Quit: WeeChat 2.0.1]
uuplusu_ has joined #lisp
<rme> In a way, I kind of like CL's weird things. It's like the people of Amsterdam who eat herring from the street vendors: it's weird to outsiders, but the locals like it.
uuplusu has quit [Read error: Connection reset by peer]
<rme> some of the locals, anyway
LocaMocha has quit [Ping timeout: 248 seconds]
<FareTower> rme: I love CL, but I recognize it and its community are dysfunctional in many ways
<FareTower> autistic, neophobic, quirky
<FareTower> with lots of baggage
<FareTower> overall very bad at collaboration
<FareTower> maybe attracted to lisp precisely because it can do so much with so little collaboration
<warweasle> FareTower: I would like to rename a few things. Outside of that, I love CL.
<FareTower> warweasle, renaming for yourself is the easiest of things
gravicappa has quit [Ping timeout: 248 seconds]
arbv has quit [Ping timeout: 256 seconds]
<warweasle> FareTower: I mean things like "true" and "false". print and such. People expect it.
Ellusionist has joined #lisp
nowhere_man has joined #lisp
FreeBirdLjj has joined #lisp
papachan has quit [Quit: WeeChat 2.0]
<FareTower> warweasle, can still do
nowhereman_ has quit [Ping timeout: 240 seconds]
<FareTower> though for hacking reader and printer... soon you'll have a lisp-in-cl
omilu has quit [Read error: Connection reset by peer]
<rme> I'm trying to look in the mirror to see if I'm autistic, neophobic, and quirky. Maybe I'm a little neophobic, but that's partly because change is inevitable but progress is not.
loli has joined #lisp
papachan has joined #lisp
mhd has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<FareTower> CLers managed to avoid a lot of change.
<FareTower> for better and for worse
<FareTower> lispers like to boast about all the innovation that lisp was about, but do precious little innovation these days
smurfrobot has quit [Remote host closed the connection]
<makomo> hearing that sort of stuff makes me a bit sad :^(
<makomo> and reminds me of that "bipolar disorder lisper" essay
<_death> makomo: you can safely disregard them
<makomo> i always wonder whether such a thing could be true. i mean, it's not like any such essays have any data to back up their claims
<FareTower> lispers also resist the most justified of changes
<warweasle> FareTower: Well, we just add changes on top of the others. And we make a mud-ball.
<phoe> isn't lisp a mudball?
<FareTower> there was a lisp project called mudballs... it died
<FareTower> a replacement for asdf 1 and 2.
<rme> I don't like those "lispers are bipolar" or " lispers have asperger's" essays and talks. They are not true and not helpful.
<makomo> yeah, i think so too
<FareTower> "know thyself"
FreeBirdLjj has quit [Ping timeout: 248 seconds]
<tomlukeywood> what is the difference between map and mapcar?
<_death> apply the socratic dictum to thyself, as well
<loli> mapcar is for lists only
<Xach> tomlukeywood: map is more generic.
<warweasle> rme: I have both. :(
<loli> map is more general and you can supply the final form
<loli> has anyone here used LiL (lisp interface library)?
<tomlukeywood> so you can use map on strings to go through each character etc?
<loli> yes
<Xach> tomlukeywood: yes
<tomlukeywood> ty
<phoe> to me, Lisp doesn't change, Lisp evolves
<phoe> and evolution likes to take its time and mistakes
<loli> how bad of an idea is it to pass a dynamic variable down to do method/function dispatch? Is there another method that will allow me to change what a function means after the fact?
<Xach> loli: what kind of change did you have in mind?
<Xach> loli: using special variables for that is pretty common, e.g. *print-case* changes behavior
<loli> I'm using dynamic variables to be <>, bar, and mempty ie simulating the monoid for my finger tree
Ellusionist has quit [Ping timeout: 240 seconds]
<FareTower> loli: "this is not my final form!"
<loli> FareTower: ???
<FareTower> phoe: does Lisp evolve much, these days?
<FareTower> as the joke goes, it's just as dead as ever, no more, no less
<loli> I'm using a secondary struct for users to make their own finger tree, the issue is that with the lazy eval,I have to overload every function for the correct values to be gotten
<jmercouris> rme: +1 those essays are bullshit, most likely not even written by lisp developers
<loli> I have to overload my generated getters which is rather annoying
<FareTower> phoe: weren't you re-digitizing a new CLHS rival from the dpANS spec?
<phoe> FareTower: I was, and am. Currently on hiatus because of real life taking up most of my real life CPU time.
<jmercouris> FareTower: It's in progress, when it is done, it will be done (temporarily on hold)
<phoe> FareTower: it evolves on its own pace. It's a slow pace, but then again, things are not done unless someone does them, and Lisp does not have many* people who have the will, energy and time to do them.
<phoe> *relatively, compared to some other programming languages
<FareTower> phoe: I can sympathize with that.
<FareTower> phoe: maybe you can find a way to crowdsource this effort?
<FareTower> a lot of CL hackers could each put 2 days proof-reading / annotating / whatever a small part of the the CLHS
<phoe> FareTower: I was complaining about exactly this thing a day ago perhaps, you can search the #lisp logs.
<FareTower> or however you call this successor
<phoe> Yes, I terribly need to crowdsource that.
<phoe> And I'll do this as soon as I deal with my real life, which might take me two months.
nowhere_man has quit [Ping timeout: 248 seconds]
<FareTower> I've met people who explained that they learned PHP because it had a great community and great documentation. These can do wonders even for a shitty language.
<phoe> But then, heh, I've been neglecting my RL for way too long.
<phoe> (incf FareTower)
<FareTower> lowering the barrier to entry
Folkol has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<phoe> yes, very much.
<FareTower> The greatest lowering of barrier to entry in the CL world was probably Quicklisp
<phoe> the CL cookbook has a lot of fresh and awesome content, when it comes to *new* documentation
<phoe> I mean the *new* cookbook
<FareTower> (Thanks, Xach)
aristippus has quit [Ping timeout: 248 seconds]
damke has quit [Ping timeout: 264 seconds]
<FareTower> what new cookbook?
nowhere_man has joined #lisp
damke has joined #lisp
<phoe> Crowdsourced, as you call it.
troydm has joined #lisp
<phoe> Its new chapters have been posted on /r/lisp for a longer while now
tomlukeywood has left #lisp [#lisp]
<makomo> FareTower: i saw that post of yours where you mentioned that (a mailing list, i forgot which one)
tlaxkit has quit [Ping timeout: 240 seconds]
<makomo> i wonder if that's real or just anecdotal evidence
<makomo> god damn it, if only we had actual, proper statistical data for this kind of stuff
<makomo> it's always just speculation/stories
aristippus has joined #lisp
<FareTower> makomo, mentioned what?
<makomo> the PHP thing
<FareTower> oh
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
FreeBirdLjj has joined #lisp
attila_lendvai has joined #lisp
<phoe> FareTower: I really want to finish my Lisp documentation project and make it go live despite all the delays, especially since "every year there's a new kid in the block who wants to curate CL libraries. So far, Xach is an exception in actually doing it and sticking to it year after year."
<phoe> which is pretty true, and has both upsides and downsides.
raynold has joined #lisp
* phoe brb for RL
FreeBirdLjj has quit [Ping timeout: 268 seconds]
attila_lendvai has quit [Ping timeout: 272 seconds]
milanj has quit [Quit: This computer has gone to sleep]
drewc_ has joined #lisp
gigetoo has quit [Ping timeout: 248 seconds]
gigetoo has joined #lisp
uuplusu_ has quit [Quit: Leaving...]
drewc has quit [Ping timeout: 256 seconds]
* phoe back
<phoe> upsides: there's obviously energy and will to be spent, because if people have the energy to constructively complain, then they have the energy to make things better
<phoe> downsides: it's trivial to let people down in this scenario since if there's nothing they can attach their frustrations and wishes for a better state of things to, they'll just leave
<phoe> but heh, this thing has been discussed 9001 times before, half of which happened on #lisp
kajo has quit [Remote host closed the connection]
<FareTower> phoe: I spent all my non-mercenary CL energy. But I want to leave the place in a better state than I found it, so I'm probably gonna stick until ASDF 3.3.2 is released that fixes the regressions with 3.3.1
kajo has joined #lisp
<phoe> FareTower: no doubt you spent it, you did a ton of work related to ASDF.
random-nick has quit [Ping timeout: 240 seconds]
smurfrobot has joined #lisp
<FareTower> most people don't seem to notice... hard to tell whether it's success (seamless experience) or failure (no one cares)
<phoe> I'll tell you a small tale that comes from my own ignorance and experience.
<phoe> I never realized how important it is to value people's work until I finally noticed how God damn hard, annoying and exhausting it is to ship working, polished software, as compared to happy hacking.
<phoe> Which came with some experience. I had to learn this, valuing people's work, and I had to learn it by hours of bugfixing, coding, listening to people's requests, complaints, whines, praises and weird stuff I'd rather not mention here.
<dlowe> yeah, shipping is way harder than many think.
<phoe> so, huh, it might sound pretty weird, but I stopped really expecting "normal bread-eaters" to notice how much work it takes to deliver something that works as expected.
<phoe> they usually go "ooooh, shinyyy, it makes vrroooom, vrrrooooom soundssss :o"
kajo has quit [Ping timeout: 265 seconds]
pierpa_ has joined #lisp
<phoe> well, a part of my work is that it makes vroom vrrrroooooom sounds. but also that it doesn't explode in all the various configurations for this person, other people, or other circumstances.
<phoe> this, and also how much time it takes to bugfix stuff as compared to implementing new features. this ratio only goes higher and higher over time, too.
warweasle has quit [Quit: Biggly.]
<phoe> so it's pretty damn weird, but, "most people don't seem to notice... hard to tell whether it's success (seamless experience) or failure (no one cares)" - I'd agree with most of it except the last part
<phoe> people tend to care, they just rarely have any idea of how the whole process looks like
<phoe> even if they understand basic programming, they think that software developers are doing programming, where they are actually doing software development
<phoe> and sometimes I wish software development included programming
<phoe> </rant>
<phoe> okay, more RL stuff now
groovy2shoes has joined #lisp
attila_lendvai has joined #lisp
gtuser has quit [Remote host closed the connection]
Karl_Dscc has joined #lisp
groovy2shoes has quit [Quit: moritura te saluto]
kajo has joined #lisp
Xof has joined #lisp
attila_lendvai has quit [Ping timeout: 272 seconds]
groovy2shoes has joined #lisp
damke_ has joined #lisp
dddddd has quit [Remote host closed the connection]
damke has quit [Ping timeout: 265 seconds]
scymtym has quit [Ping timeout: 240 seconds]
Ellusionist has joined #lisp
sigjuice has quit [Ping timeout: 256 seconds]
shka has quit [Ping timeout: 252 seconds]
versatile is now known as Murii
sigjuice has joined #lisp
papachan has quit [Quit: Saliendo]
Kyo91 has quit [Remote host closed the connection]
Kyo91 has joined #lisp
megalography has joined #lisp
<jmercouris> phoe: I think unless a developer has released a product themselves, they do not know this, as part of a company you are shielded from this by sales people, and other customer facing individuals (support etc)
<jmercouris> phoe: That is also why I am hesitant to call myself a programmer, I don't merely program, that is just one step
orivej has quit [Ping timeout: 240 seconds]
<phoe> jmercouris: by my personal nomenclature, I think it's fine to call yourself a programmer right now. I make a distinction between programming and software development.
<phoe> it's like, similar kind of difference like between having sex and being a parent inside a healthy family.
<jmercouris> This is of course fine if you are *just* a programmer, but if you are developing software, then you are a software developer
<phoe> like, the former is still a part of the latter, but you also get a ton of other work that is semi- and unrelated to programming.
<jmercouris> Would a laywer call themselves a paper reader?
<jmercouris> most of the time they are reading papers, no?
<phoe> and one day you can just wake up and there's shit in the middle of the carpet. nobody knows how it happened, nobody knows when it happened, there's just blank stares and avoidant gazes, and all you know is that it's your responsibility to clean it up before guests arrive at eleven o'clock.
<phoe> gah, I just realized it's a #lispcafe discussion.
* phoe heads there
orivej has joined #lisp
manualcrank has joined #lisp
pchrist has quit [Quit: leaving]
pchrist has joined #lisp
<jmercouris> I see in lisp manuals a lot of the time syntax that appears at top of pages like this: https://common-lisp.net/project/cffi/manual/html_node/defcfun.html
<jmercouris> ::=, | etc
<Colleen> Unknown command. Possible matches: 8, set, say, mop, get, time, tell, roll, help, deny,
random-nick has joined #lisp
<jmercouris> is there a list of these symbol meanings? some of them are obvious
<jmercouris> I assume | is probably or, ::= is assignment
<jmercouris> but what does {}* mean?
shifty has joined #lisp
<beach> It is called BNF Bacchus Naur Form
<minion> aeth, memo from pillton: That bug is now fixed in master.
<aeth> pillton: thanks
eSVG has joined #lisp
<aeth> jmercouris: Unfortunately, there isn't one BNF
<jmercouris> That's too bad, the symbols did look really familiar though :D
Cymew has joined #lisp
<aeth> The Wikipedia article I linked to gives two extended forms in its intro, EBNF and ABNF
<jmercouris> I had seen them before when working with yacc
<aeth> yes
<Xach> jmercouris: http://l1sp.org/cl/1.4.1.2 discusses the modifications for the spec
<jmercouris> Ok, thanks for the resources, time to try to learn it properly
orivej has quit [Ping timeout: 260 seconds]
<aeth> yacc uses yet another BNF, or at least really close to it
<aeth> Wikipedia says "a notation similar to Backus–Naur Form (BNF)"
scymtym has joined #lisp
orivej has joined #lisp
<aeth> (really, they missed an opportunity to literally call it "yet another BNF" because the program's "yet another compiler-compiler")
<beach> I apologize to John Backus for spelling his name like the Roman version of Dionysus.
<jmercouris> He won't be reading this log I think :D
Cymew has quit [Ping timeout: 240 seconds]
<beach> Whew!
fluke`` has quit [Read error: Connection reset by peer]
benny has quit [Ping timeout: 264 seconds]
<FareTower> beach: he might be flattered
<rumbler31> "thats funny, I was having a glass of wine when I thought this up"
<jmercouris> I was saying because he is not alive anymore
<jmercouris> Anyways, I have the following cffi binding I am trying to get to work, can someone please take a look and see if I made a mistake? It is very short, just 3 forms: https://gist.github.com/acb34aef9e4d784933fe5c593001e3dd
<jmercouris> I've included the original C documentation at the top
<rme> I only know one person who drinks wine while programming. I don't know how he does it.
<rumbler31> Thats easy! Just one glass at a time
fikka has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
openthesky has joined #lisp
<FareTower> rme: you make me thirsty!
<FareTower> rme: I hope he drinks *red* wine.
Murii has quit [Quit: WeeChat 1.4]
<rme> of course he does
smurfrobot has quit [Remote host closed the connection]
smurfrobot has joined #lisp
benny has joined #lisp
fikka has joined #lisp
osune has joined #lisp
Ellusionist has quit [Ping timeout: 248 seconds]
MrBismuth has joined #lisp
fikka has quit [Ping timeout: 265 seconds]
Tobbi has quit [Remote host closed the connection]
Tobbi has joined #lisp
MrBusiness has quit [Ping timeout: 265 seconds]
<FareTower> I like to do that, too, but I hate to drink alone at which point I drink too slow for the wine bottle not to get bad before I finish it.
Folkol has joined #lisp
wxie has joined #lisp
arbv has joined #lisp
jfb4 has quit [Ping timeout: 240 seconds]
jfb4 has joined #lisp
marcux has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
makomo has quit [Ping timeout: 252 seconds]
fluke` has joined #lisp
fluke` has quit [Read error: Connection reset by peer]
damke has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
LiamH has quit [Quit: Leaving.]
wxie has quit [Remote host closed the connection]
josemanuel has quit [Quit: leaving]
rumbler31 has quit [Ping timeout: 260 seconds]
random-nick has quit [Remote host closed the connection]
jstypo has quit [Ping timeout: 248 seconds]
throwprans|prans has joined #lisp
openthesky has quit [Ping timeout: 240 seconds]
erikc has joined #lisp
knobo has quit [Ping timeout: 264 seconds]
jstypo has joined #lisp
Fare has quit [Quit: Leaving]
<throwprans|prans> Why do I need VECTOR-PUSH-EXTEND and couldn't just VECTOR-PUSH deal with it?
mishoo_ has quit [Ping timeout: 248 seconds]