phoe changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <http://cliki.net/> <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | SBCL 1.4.16, CMUCL 21b, ECL 16.1.3, CCL 1.11.5, ABCL 1.5.0
zotan has quit [Ping timeout: 250 seconds]
zotan has joined #lisp
<aeth> Oh, good, the next Fedora (30) will have a more recent version of SBCL. For some reason, Fedora fell 1-2 cycles behind and is on an ancient SBCL. I understand why Fedora wouldn't upgrade within a release because SBCL can be backwards-incompatible, but Fedora's still on 1.4.6. in Fedora 28 and Fedora 29. https://apps.fedoraproject.org/packages/sbcl/builds/
<aeth> Strangely, that builds page makes it look like they might release 1.4.14 for the current versions (28 and 29) as well.
<aeth> Still no CCL in Fedora (it does also have ECL and CLISP).
<aeth> I wonder if there's an implementations matrix for the major Linux distros, as in which implementations and which versions are provided by each major distro.
skidd0 has joined #lisp
<skidd0> hello
<devon> Howdy
<skidd0> i'm trying to define a utility function that drops all my tables in a DB. The problem is that when I eval the (defun ..) to load it into my slime REPL, it evaluates the logic of the function and drops the tables
<skidd0> i want to have the function defined and 'handy' so i can clear my tables as i'm developing them
<skidd0> but, i don't want it to be 'run' every time I load the package
<devon> So the compiler is running some code in the defun?
<aeth> Hmm... Fedora is currently at SBCL 1.4.6. Ubuntu seems to be on SBCL 1.4.10 and Debian stable is on 1.3.14 (!!!). SBCL for CentOS/RHEL can afaik be obtained through EPEL 7 and is at 1.4.0. Doing this for all major implementations and distros would give decent expectations about what to expect.
<skidd0> devon: seems so
<skidd0> so i think there's an eval-when
<aeth> skidd0: Are you using a DEFUN directly or are you using some library's DEFINE-FOO macro?
<skidd0> defun
<devon> skidd0: eval-when :compile-toplevel :load-toplevel perhaps?
<aeth> skidd0: I don't think it's an eval-when, I think there's probably a macro you're using that has side effects at macro-expansion time... or something like that.
<skidd0> oh the defun has a macro inside it
<skidd0> could that be triggering these side affects
<skidd0> effects*
asarch has joined #lisp
<asarch> In line #35, what does :: mean?
<skidd0> i know with packages, :: is used to force the use of a non-exported symbol
<aeth> asarch: foo:bar is the symbol bar from the package foo. foo::bar is also the symbol bar from the package foo. The difference is that bar must be exported for foo:bar to work, but bar can be internal with foo::bar
makomo has quit [Ping timeout: 250 seconds]
<asarch> Thank you!
<asarch> Thank you very much guys! :-)
<aeth> I basically only use this :: because Lispers always forget to export the type of something
<devon> skidd0: what happens when you macroexpand that bit of code from the defun?
<skidd0> not sure how to do that
<devon> (macroexpand '(incf a)) ==> (setq a (1+ a))
<skidd0> i get NIL
<skidd0> when i type it at the repl
<skidd0> but i get a big thing when i use slimv's macroexpand
<aeth> did you quote it?
<skidd0> i did
<skidd0> oh wait
<skidd0> yes, i did
amerlyq has quit [Quit: amerlyq]
asarch has quit [Quit: Leaving]
<skidd0> when i macroexpand-1, i see an eval-when toplevel
torbo has joined #lisp
Mr-Potter has quit [Quit: Leaving]
<LdBeth> is it convenient to paste your code?
<LdBeth> *session
<pjb> LdBeth: type /topic there should be some paste links.
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
<aeth> Gitlab and Github both have built-in pastebins.
igemnace has joined #lisp
ebrasca has quit [Remote host closed the connection]
ntbre has quit [Quit: ntbre]
xkapastel has quit [Quit: Connection closed for inactivity]
dimpase_ has joined #lisp
istofu has joined #lisp
<istofu> hey, i'm trying to make a script for emacs.
<istofu> sec typing question
<istofu> (global-set-key "\C-cc" (lambda () (interactive) (insert "/**/ ") (forward-char -3)))
<istofu> So, i have that, but instead of me having to type out (n) being the value going between /**/ how do i set a var
<istofu> that increments everytime i \C-cc
<istofu> Im using it to track clauses for prolog
asarch has joined #lisp
<asarch> Did GLUT on Common Lisp use CLIM to create its windows?
<p_l> istofu: better ask #emacs, I think
<p_l> asarch: GLUT is explicitly a C library, there's no "native" GLUT for CL and thus no CLIM relation
<istofu> alright
<p_l> asarch: there's a project that used CLX to implement indirect-mode GLX
* asarch takes notes...
<p_l> CLX btw is part of X11 "standard" itself, enough that it was part of the full set of X11 documentation (rarely seen in the wild, I need to rescue one...)
<asarch> Where could I find more info about how to use C "programs" with Common Lisp?
<pjb> cffi
<pjb> and the implementation specific documentation.
<p_l> asarch: for libraries, CFFI is one option (portable). SWIG can help you sometimes in getting CFFI running
<asarch> Ok
<asarch> Thank you
<asarch> Thank you very much guys :-)
<p_l> asarch: if you search for it, I think some people did bindings to GLUT compatible with cl-opengl :)
<p_l> ahh, apparently included in cl-opengl
space_otter has joined #lisp
<p_l> https://common-lisp.net/project/cl-opengl/ <-- probably not the most recent code, but a good start?
istofu is now known as isTofu
<asarch> I though they used CLIM to "create" the windows and in those windows create the OpenGL layer to render scenes
<p_l> unfortunately I don't know of any integration between CLIM and GL, except of mostly abandoned attempt at opengl driver for clim
FreeBirdLjj has joined #lisp
<asarch> :-(
<p_l> CLIM by itself is more about what is inside the windows than management of windows
<p_l> some of the commercial implementations might have had some support for 3D
<asarch> Ok
<p_l> I'm not sure if Symbolics 3D stuff moved to CLIM at some point (doubtful), but in both cases it had mostly-software renderer that would take bitmap area from the gui library for its own use
markoong has quit [Read error: Connection reset by peer]
meepdeew has joined #lisp
terpri has joined #lisp
isTofu has quit [Quit: leaving]
skidd0 has quit [Quit: WeeChat 2.3]
<aeth> asarch: If you want CLIM on top of OpenGL, you would need cl-opengl with another library to handle input, such as cl-sdl2 and SDL2.
<aeth> These types of applications also probably want to redefine what a 'window' is because in a 3D application you probably want fake windows in one fullscreen or large-window application rather than true OS windows.
<aeth> So there would need to be a layer in between cl-opengl+cl-sdl2 (or similar libraries) and a CLIM implementation
<p_l> glut does basic input handling
<aeth> p_l: GLUT is, afaik, deprecated.
<aeth> If you wanted a full-CL approach (at least as fully as possible), you'd probably want to use cl-sdl2 because that's what nearly everyone uses with cl-opengl so it's the safest choice.
<aeth> (Good alternatives include using a lower-level SDL2 wrapper, or reimplementing the functionality of something like SDL2 and writing 3 backends for each of the major desktop OSes)
<aeth> (More work, though.)
FreeBirdLjj has quit [Remote host closed the connection]
<aeth> No matter what the details, CLIM with OpenGL would probably target a simple OpenGL GUI system with fake in-window windows, etc. This afaik doesn't exist yet.
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Ping timeout: 244 seconds]
rumbler31 has joined #lisp
FreeBirdLjj has joined #lisp
meepdeew has quit [Remote host closed the connection]
meepdeew has joined #lisp
meepdeew has quit [Remote host closed the connection]
meepdeew has joined #lisp
iovec has joined #lisp
kdas_ has joined #lisp
akoana has left #lisp ["Leaving"]
kushal has quit [Ping timeout: 256 seconds]
kdas_ is now known as kushal
Oladon has quit [Quit: Leaving.]
holycow has joined #lisp
ealfonso has joined #lisp
ntbre has joined #lisp
ntbre has quit [Client Quit]
_whitelogger has joined #lisp
meepdeew has quit [Remote host closed the connection]
mrcom has quit [Ping timeout: 272 seconds]
meepdeew has joined #lisp
meepdeew has quit [Remote host closed the connection]
meepdeew has joined #lisp
Bike has quit [Quit: Lost terminal]
meepdeew has quit [Remote host closed the connection]
mrcom has joined #lisp
megalography has quit [Quit: Leaving.]
<beach> Good morning everyone!
<LdBeth> morning
SaganMan has joined #lisp
dddddd has quit [Remote host closed the connection]
pierpal has quit [Quit: Poof]
pierpal has joined #lisp
<LdBeth> I see GCC MELT, which is a inactive project
notzmv has quit [Ping timeout: 245 seconds]
dimpase_ has quit [Ping timeout: 240 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
devon has quit [Ping timeout: 240 seconds]
FreeBirdLjj has quit [Ping timeout: 250 seconds]
ismay has joined #lisp
quazimodo has quit [Ping timeout: 240 seconds]
<Demosthenex> hrm, https://bpaste.net/show/5a7df14bd379 the same version of swank that works on sbcl is failing on abcl
<Demosthenex> nope, that looks exported, i'll ask on abcl :P
torbo has quit [Remote host closed the connection]
nirved is now known as Guest13323
nirved has joined #lisp
Guest13323 has quit [Ping timeout: 252 seconds]
zotan has quit [Ping timeout: 240 seconds]
zotan has joined #lisp
zotan has quit [Ping timeout: 252 seconds]
zotan has joined #lisp
zotan has quit [Ping timeout: 240 seconds]
zotan has joined #lisp
zmv has joined #lisp
zmv is now known as notzmv
abhixec has quit [Ping timeout: 272 seconds]
zotan has quit [Ping timeout: 252 seconds]
zotan has joined #lisp
wigust has quit [Ping timeout: 246 seconds]
wigust has joined #lisp
SaganMan has quit [Quit: WeeChat 1.6]
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
desvox has quit [Quit: ding dong the znc is dead]
Inline has quit [Quit: Leaving]
<fiddlerwoaroof> aeth: the other alternative is to target Cocoa/Gnustep/Cocotron and interact via Objc
karlosz has quit [Quit: karlosz]
<fiddlerwoaroof> I think it's feasible, although those projects aren't necessarily the healthiest. However, the Objc runtime is a bit nicer to interface with than most plain-C libraries, since the Smalltalk influence makes it a "lispier" environment.
frodef has joined #lisp
quazimodo has joined #lisp
jprajzne has joined #lisp
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
milivoj has joined #lisp
<phoe> fe[nl]ix: is a squash into a single commit acceptable? In case it is, that is what I've done; in case it is not, I'll work a little bit more on the commits.
adam4567 has joined #lisp
shrdlu68 has joined #lisp
nowhereman has joined #lisp
nowhere_man has quit [Ping timeout: 252 seconds]
space_otter has quit [Remote host closed the connection]
<flip214> Is Anton V here?
<fiddlerwoaroof> flip214: I think he shows up here occasionally
<flip214> fiddlerwoaroof: thanks.
milivoj has quit [Quit: milivoj]
milivoj has joined #lisp
nowhereman has quit [Ping timeout: 252 seconds]
<splittist> morning
<no-defun-allowed> morning splittist
<dueyfinster> splittist: morning
makomo has joined #lisp
<edgar-rft> flip214: Anton the Fifth?
<flip214> edgar-rft: no ;)
<flip214> at least I guess not
<flip214> that was just the first (latinized) character of his surname
<beach> dueyfinster: Are you new here? I don't recognize your nick.
quazimodo has quit [Ping timeout: 246 seconds]
xkapastel has joined #lisp
<fiddlerwoaroof> clhs set-pprint-dispatch
<fiddlerwoaroof> that comes in handy some times
<fiddlerwoaroof> for example, when you want to get a nicer printed-format for hash-tables, but don't want to specialize print-object
rumbler31 has quit [Remote host closed the connection]
rumbler31 has joined #lisp
rumbler31 has quit [Remote host closed the connection]
amerlyq has joined #lisp
dale has quit [Quit: dale]
<asarch> This is what I've been looking for: http://www.crategus.com/index.php/projekte/gallery/
<asarch> GTK+ 3 for Common Lisp!
<asarch> Yeah! \o/
asarch has quit [Quit: Leaving]
scymtym has joined #lisp
kajo has quit [Ping timeout: 250 seconds]
kajo has joined #lisp
milanj has joined #lisp
varjag has joined #lisp
heisig has joined #lisp
zotan has quit [Ping timeout: 272 seconds]
zotan has joined #lisp
<Demosthenex> asedeno: i just want a TUI. ;] i'm trying to get abcl to work with jexer.
kajo has quit [Ping timeout: 250 seconds]
scymtym has quit [Ping timeout: 244 seconds]
devon has joined #lisp
kayront_ is now known as kayront
svillemot has joined #lisp
lnostdal has quit [Ping timeout: 240 seconds]
lnostdal has joined #lisp
robdog has joined #lisp
devon has quit [Ping timeout: 250 seconds]
DGASAU has quit [Read error: Connection reset by peer]
igemnace has quit [Quit: WeeChat 2.3]
xkapastel has quit [Quit: Connection closed for inactivity]
random-nick has joined #lisp
notzmv has quit [Ping timeout: 246 seconds]
atgreen has joined #lisp
hiroaki has joined #lisp
scymtym has joined #lisp
ntbre has joined #lisp
xkapastel has joined #lisp
ntbre has quit [Quit: ntbre]
dddddd has joined #lisp
DGASAU has joined #lisp
adam4567 has quit [Read error: Connection reset by peer]
<stylewarning> I didn’t meet any Lispers at FOSDEM ):
<phoe> there were several Schemers and Racketeers AFAIK
<stylewarning> Yeah I think so in the “small languages” or some such devroom
<phoe> I know for sure that dustyweb was presenting something done in Scheme and/or Racket
<stylewarning> My FOSDEM talk had some Lisp in it, and the video is finally published: https://youtu.be/qwfMzzKJDXI
<stylewarning> Enjoy!
<stylewarning> (I’ll probably advertise it one more time when America wakes up.)
<shka__> stylewarning: cool, thanks!
m00natic has joined #lisp
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 272 seconds]
Lord_of_Life_ is now known as Lord_of_Life
robdog has quit [Remote host closed the connection]
scymtym has quit [Ping timeout: 264 seconds]
<flip214> I've got a FFI definition:
<flip214> (CFFI:DEFCFUN ("OPENSSL_init_ssl" OPENSSL-INIT-SSL :LIBRARY LIBSSL)
<flip214> :INT (OPTS :UINT64) (SETTINGS :POINTER))
<flip214> but calling that gives me
<flip214> A function with declared result type NIL returned:
<flip214> with sbcl, current git head
<flip214> why does SBCL think the function shouldn't return?
<jackdaniel> flip214: maybe it means: function was declared to return NIL, but returned not-NIL
<jackdaniel> that said this declaration says, that it returns int
<jackdaniel> not :void
<flip214> Derived type: (FUNCTION (T T) (VALUES FIXNUM &OPTIONAL))
<flip214> hrmpf
<flip214> manually calling via swank works, but loading a freshly-compiled system doesn't
<flip214> clearing FASL caches...
<flip214> now it ran okay. strange...
akoana has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
<flip214> hrmpf. now it's another function with the same symtoms.
<flip214> *symptoms
<makomo> stylewarning: neat!
<Jachy> stylewarning: Congrats on the open source release
holycow has quit [Quit: leaving]
<flip214> can I remove a function declaration programmatically?
<flip214> apart from doing some (FTYPE (FUNCTION (&REST T) T)) or so, which is likely to be wrong anyway?
<pjb> (fmakunbound 'your-function-name)
<pjb> But for the declaration, there's no way indeed.
<pjb> Apart (unintern 'your-function-name) which would ensure it would eventually be GC'ed.
<pjb> flip214: yeah, declarations are bitches. Don't do them. Or like docstrings, put all the declarations in a separate file, and load it only when compiling the production code?
markoong has joined #lisp
matijja has joined #lisp
orivej has joined #lisp
<flip214> pjb: UNINTERN doesn't work, as the fact that the symbol is exported is lost.
<flip214> pjb: no, this is about automatically-inferred declarations.
<flip214> pjb: thanks for the confirmation -- and the ideas.
devon has joined #lisp
milanj has joined #lisp
kushal has quit [Remote host closed the connection]
nowhere_man has joined #lisp
kushal has joined #lisp
devon has quit [Ping timeout: 250 seconds]
Bike has joined #lisp
atgreen has quit [Ping timeout: 240 seconds]
milanj has quit [Quit: This computer has gone to sleep]
igemnace has joined #lisp
akoana has quit [Ping timeout: 240 seconds]
devon has joined #lisp
drbojingle has joined #lisp
nowhere_man has quit [Ping timeout: 252 seconds]
Posterdati has quit [Ping timeout: 246 seconds]
atgreen has joined #lisp
frodef has quit [Ping timeout: 246 seconds]
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.2)]
amerlyq has quit [Ping timeout: 250 seconds]
igemnace has quit [Ping timeout: 240 seconds]
amerlyq has joined #lisp
igemnace has joined #lisp
scymtym has joined #lisp
frodef has joined #lisp
xkapastel has quit [Quit: Connection closed for inactivity]
scymtym has quit [Ping timeout: 240 seconds]
<pjb> flip214: otherwise, you could write a CDR defining an API to have access to the declarations, and implement it in the various implementations.
<pjb> (same for types, etc).
rippa has joined #lisp
<flip214> pjb: thank you, that sounds completely fine!
<pjb> Note also that this API can exist in an implementation specific mode in some implementations.
<pjb> But probably ad-hoc. For example, IIRC, some implementations have a specific API to access the optimization levels.
devon has quit [Ping timeout: 240 seconds]
heisig has quit [Quit: Leaving]
LiamH has joined #lisp
scymtym has joined #lisp
JetJej has joined #lisp
Arcaelyx has joined #lisp
dale_ has joined #lisp
dale_ is now known as dale
devon has joined #lisp
<flip214> pjb: for my usecase it might be much easier to have CFFI always generate declarations, so that previous wrong ones get clobbered ;)
<flip214> but thanks all the same!
jfb4 has quit [Ping timeout: 240 seconds]
Josh_2 has joined #lisp
troydm has quit [Ping timeout: 245 seconds]
devon has quit [Ping timeout: 240 seconds]
milanj has joined #lisp
robdog has joined #lisp
Essadon has joined #lisp
Essadon has quit [Max SendQ exceeded]
jprajzne has quit [Remote host closed the connection]
Inline has joined #lisp
Posterdati has joined #lisp
devon has joined #lisp
Posterdati has quit [Client Quit]
Posterdati has joined #lisp
<Posterdati> hi
<pjb> Hi!
X-Scale has joined #lisp
nanoz has joined #lisp
varjag has joined #lisp
shrdlu68 has quit [Ping timeout: 268 seconds]
matijja has quit [Ping timeout: 272 seconds]
ebrasca has joined #lisp
ismay has quit [Ping timeout: 250 seconds]
cage_ has joined #lisp
<stylewarning> I would love random PRs to improve the state of things for qvm/quilc (:
<flip214> stylewarning: be careful what you wish for... there's a lot of fuzzy testing around ;/
<stylewarning> We started to build a fuzz tester
devon has quit [Ping timeout: 250 seconds]
<makomo> stylewarning: the readme links to https://github.com/rigetti/cl-quil, but that gives a 404? is that repo private or?
<makomo> the readme also says the cl-quil can be found under ./src/, so i'm not sure what the link is for?
<stylewarning> No, it’s a bad link.
<stylewarning> It should just link to rigetti/quilc, or to that sub directory
<stylewarning> The repos used to be separate, so it’s probably just a typo that didn’t get cleaned out
<makomo> stylewarning: ah, ok
devon has joined #lisp
sjl has joined #lisp
kajo has joined #lisp
Zaab1t has joined #lisp
jkordani has joined #lisp
ntbre has joined #lisp
<stylewarning> makomo: fixed!
<makomo> stylewarning: :-)
varjag has quit [Ping timeout: 240 seconds]
devon has quit [Ping timeout: 240 seconds]
skidd0 has joined #lisp
<skidd0> hello again.
<skidd0> i'm swapping out that macro I had issues with (from yesterday) so that I don't have to call it with every database action
longshi has joined #lisp
<skidd0> instead, postmodern looks for a connection in the special variable *database*
matijja has joined #lisp
<skidd0> some documentation suggests using a open-db function that has an (unless *database* (setf *database* ..))
<skidd0> but i get warnings that *database* is unbound
<skidd0> i found a thread on reddit that's helping me understand the difference between defvar and defparameter, which i believe should be used here instead of setf
<skidd0> but i'm more than a little confused
<skidd0> and looking for some insight
<skidd0> defparameter will overwrite and existing var, which i think is what I want here
<skidd0> but i've seen this same (unless *v* (setf *v* ..)) before
<skidd0> and am wondering if it's some idiom I'm misunderstanding
travv0 has joined #lisp
<Inline> unless *v* == when not *v*
<Inline> == when *v*==nil
<skidd0> right, but the problem is *v* isn't set until after the unless call
<skidd0> so on first run, it'll always complain that *v* is unbound
<Inline> oh
<Inline> yes
<Inline> if *v* is not defined it will always complain
<skidd0> is that complaint safe to ignore in this case?
<Inline> how did you define it ?
<skidd0> well i followed a suggestion and used the (unless *v* (setf *v* ..))
<skidd0> but i'm changing it to just (defparameter *v* ..)
<sjl> defparameter defines a special variable and sets it to something. defvar defines a special variable and sets it only if it didn't already exist. (unless ... (setf ...)) sets an EXISTING variable to something if it's currently set to NIL.
<sjl> They're three different things.
<skidd0> yeah
<skidd0> i'm realizing that
<skidd0> and i think this suggestion of using (unless ..) is not the best way to do it
<sjl> You might want something like (defvar *foo* nil) ... (unless *foo* (setf *foo* ...)) to define the variable and lazily initialize it later
<skidd0> well in this case, i'm setting up a db connection that i'd like to persist
<sjl> Oh, reading scrollback, I'd guess your problem is that you're not importing the *database* symbol (or using postmodern:*database* to refer to it).
<skidd0> and i don't anticipate a need to change the connection
<skidd0> where would I import *database* from though?
<skidd0> if my code is what's setting that variable
<sjl> So you're saying (unless *database* (setf *database* ...)) but *database* is just some random symbol in your own package that happens to have the same name as one in the postmodern package.
hiroaki has quit [Ping timeout: 240 seconds]
<sjl> You import the SYMBOL *database* from the postmodern package (packages in Common Lisp are containers for symbols. you don't import a variable, you import a SYMBOL).
<skidd0> i thought *specials* were global?
<skidd0> not lexically scoped by package
<skidd0> that's interesting
<sjl> Lexical scoping is something different.
<skidd0> er.. scorped by the package?
<skidd0> then?
<djeis[m]> A symbol is either accessible in a package or it isn't.
<Bike> packages are unrelated to scoping
amerlyq has quit [Quit: amerlyq]
<djeis[m]> And you're either in a package or you aren't.
<djeis[m]> No real scoping rules.
Josh_2 has quit [Ping timeout: 240 seconds]
<sjl> So, to back up. You have a special variable. This variable is named by a particular symbol. In your case: the symbol *database* in the postmodern package.
<skidd0> so this is how :use works
<skidd0> ?
<Bike> listen to sjl
* skidd0 listens on all open ports
<sjl> So if you want to set the variable, you have to use its name (that symbol). You can either say postmodern:*database*, or if that's too wordy to type all the time, you can import that symbol into your own package.
<djeis[m]> Use makes all the symbols exported from some other package accessible in yours.
<sjl> Then when you're in your package, saying *database* refers to that postmodern:*database* symbol.
<skidd0> sjl: but only if I imported it
<skidd0> otherwise, i'm defining mypackage:*database*
<skidd0> ?
<sjl> Right.
<skidd0> okay. that is helpful, thank you all
<sjl> (or :use'ed it, because :use is essentially something like `import *` from e.g. Python)
<sjl> (but folks will advice you to not use :use, which is good advice)
<skidd0> yeah, but i'm trying to stay away from :use
<djeis[m]> Probably for the best, yea.
<skidd0> because it muddies up where symbols are coming from
<djeis[m]> ^ +1
<sjl> Well, and because if you have a function foo in your package, and then later one of the packages you :USE adds a function `foo` and exports it, suddenly your code will be redefining their `foo` function
<skidd0> so i'll try importing pomo:*database* with the suggested (unless *database* (setf *database* ..)) and see if it still complains about unbound
<sjl> Which is... probably bad.
<skidd0> ah, it appears that using the pomo:*database* resolves the issue
<skidd0> thanks guys
asarch has joined #lisp
shka_ has joined #lisp
<shka_> good evening
<stylewarning> Hello
hiroaki has joined #lisp
<phoe> heyy
<ebrasca> Hi
<ebrasca> Do you know some tutorial to learn to debug cl-cffi errors?
travv0 has left #lisp [#lisp]
<beach> Amazing.
<stylewarning> ebrasca: none that I know of. Debugging them requires working knowledge of C and some skill in good abstraction
<ebrasca> stylewarning: I get error like "Unhandled memory fault at #x0."
<ebrasca> I try to draw 1 triangle with cl-vulkan.
<djeis[m]> Ooh, null pointer...
<djeis[m]> Those are a pain.
<stylewarning> ebrasca: do you have an example that works in C?
<stylewarning> Sounds like a null pointer deterrence
<ebrasca> stylewarning: I have 1 in c++
<ebrasca> Here is my current code in lisp http://ix.io/1A1E
<ebrasca> I have commented what I need to do.
<ebrasca> Someting is what when I try run "with-swapchain"
<stylewarning> Try macroexpanding it?
karlosz has joined #lisp
xkapastel has joined #lisp
undiscovered has joined #lisp
<ebrasca> Here http://ix.io/1A1L
Necktwi has quit [Quit: leaving]
Orion3k has joined #lisp
<stylewarning> Is CREATE-SWAPCHAIN-KHR failing?
<ebrasca> I think yes.
karlosz has quit [Quit: karlosz]
<ebrasca> Sometimes it gives "Unhandled memory fault at #x4." istead of "Unhandled memory fault at #x0."
nikkal has joined #lisp
karlosz has joined #lisp
<stylewarning> Are you using SLIME? Can you expand and inspect the backtrack?
Xach has quit [Ping timeout: 268 seconds]
Xach has joined #lisp
Josh_2 has joined #lisp
<ebrasca> Don't undestand why it now give some other value: http://ix.io/1A1S
karlosz has quit [Client Quit]
karlosz has joined #lisp
<ebrasca> Here more expanded : http://ix.io/1A1T
m00natic has quit [Remote host closed the connection]
<stylewarning> It looks like there must be a bad pointer or bad allocation
<ebrasca> Can I know if it is my error or cl-vulkan one?
<stylewarning> Probably not without further investigation. In general a good wrapper library shouldn’t permit segfsults to happen but it’s not a perfect world
<stylewarning> Triple check that the arguments you’re passing are correct. Do you have to initialize what you alloc’d?
<stylewarning> What’s the corresponding C function to this function?
<ebrasca> With-swapchain uses vkCreateSwapchainKHR.
pierpal has quit [Quit: Poof]
skidd0 has left #lisp ["WeeChat 2.3"]
pierpal has joined #lisp
nowhere_man has joined #lisp
<ebrasca> stylewarning: Why do you need C function name?
<stylewarning> So you can look at its documentation
<ebrasca> I have read this documentation, it don't help me here.
pierpal has quit [Ping timeout: 268 seconds]
skidd0 has joined #lisp
<skidd0> hello again
milanj has quit [Ping timeout: 246 seconds]
scymtym has quit [Ping timeout: 268 seconds]
<stylewarning> ebrasca: sorry I can’t help more right now, I’m in a plane with a bad internet connection
<skidd0> i'm writing duplicate code when i do (let ((id (if (numberp ([stuff to get id])) ([stuff to get id]) nil)
<skidd0> is nesting lets a bad idea?
<skidd0> is there an easier way I'm unaware of?
<skidd0> err.. (let ((id (if (numberp ([stuff to get id])) ([stuff to get id]) nil))))
<sjl> could use a let* to extract the stuff into its own variable
<skidd0> so like (let* ((maybe-id ([stuff])) (for-sure-id (if (numberp maybe-id) maybe-id nil))))
<skidd0> ?
<stylewarning> Sure that sounds fine
<skidd0> is there a connvention on variable names here?
<skidd0> i know maybe is a keyword for haskell
<Bike> for something this small? no.
<skidd0> is (let) expensive?
<sjl> no
<skidd0> or am i getting into premature optimization here
<sjl> it's almost certainly LESS expensive to LET the stuff into a variable, rather than computing it twice.
<skidd0> that's what i w figuring as well
<shka_> skidd0: if you are considering let to be expensive you probably should not be try to optimize your programs
<shka_> because you don't have enough knowledge to do so
<skidd0> how would one get that knowledge?
<skidd0> asking?
nowhere_man has quit [Ping timeout: 246 seconds]
<shka_> first of, algorithmic complexity matters
<shka_> secondly, don't ever EVER optimize without profiling
<shka_> just don't
<shka_> it is not productive
<skidd0> right, because i could be wasting time optimizing something when the bottleneck is elsewhere
<shka_> indeed
<skidd0> and algorithmic complexity is that big O stuff, yes?
<shka_> yes
<shka_> it is not complete picture, but it matters
<skidd0> right. I have a couple tabs of Algorithm courses/texts saved
<shka_> and finally, in CL you are often optimizing for specific implementation
<skidd0> because I didn't have to take algorithms in my program
<skidd0> but really should have
<Josh_2> skidd0: just write the code how feel is right, when you are complete and have something that works how you want, then you can optimize :) computers are plenty fast
<shka_> skidd0: ah, one more remark
<skidd0> Josh_2: i was feeling icky about computing twice
<shka_> it is easier to make correct program fast, then make fast program correct!
teej has joined #lisp
<skidd0> so i guess following my gut there was a good idea
<shka_> *than
<skidd0> shka_: that's a possible contender for a cubicle pinup
<shka_> *to make
<shka_> english is hard
<shka_> anyway, chill, write pretty code and relax
karlosz has quit [Quit: karlosz]
<shka_> optimize later
<shka_> pretty code is easier to profile anyway, and profiling is critical part of optimization
<skidd0> so do you guys often have to 'sell' lisp to mgmt?
<skidd0> i'm worried that i'll have a hard time with that
<shka_> i am not very successful at that so far
<skidd0> my pitch is that i'm faster and more expressive in lisp (even tho i barely know it, clearly)
frodef has quit [Ping timeout: 240 seconds]
sjl has quit [Ping timeout: 246 seconds]
<skidd0> and that it can do things others can't. like the repl, and redefining stuff 'live'
<stylewarning> skidd0: mgmt usually doesn’t care about features or velocity
<stylewarning> They care (IME) about whether other software devs buy into it, whether they can hire people, and whether you’ll just be a bus factor nightmare
<skidd0> like last week, i'm building up this database table and importing a ton of data from an API that's paging the records. half way through, (20 mins in) i get a warning that a record in the API didn't have a number for it's ID. So, i redefnied the way the import function handles those IDs to check for a number, live, without breaking the import
<skidd0> bus factor nightmare?
<shka_> skidd0: everything must go trough one person
<skidd0> and yeah, that's exactly the worry i have. They're trying really hard to push and solidify all future dev inot meteor, react, mongo
<stylewarning> That you’re irreplaceable, that your company’s bus factor will be 1
<skidd0> ah
<skidd0> so i must conform
<skidd0> to the application pool
<skidd0> not rise to the project
<stylewarning> Lisp is sufficiently odd that it is taken as a bad smell by folks who aren’t deep in the trenches of development. If you’re going to use something non-standard, you have to pull a lot of political weight
<skidd0> i don't. i'm a young dev that they think is 'magic' but that they don't respect
<skidd0> which is why i'm looking to jump ship after I graduate
<skidd0> but i don't know how to find a gig that'll let me code in my preferred way
<skidd0> i guess i need to compromise
<stylewarning> (Even at a company where our most advanced software is in Lisp, there’s still pushback. There’s always this lingering desire to “quarantine” it and not let it grow.)
<skidd0> man
<skidd0> damn you, paul graham
<skidd0> you sold me on the promised land
<skidd0> and now i'm stranded here
<shka_> stylewarning: wise, it can become self aware and conquer humanity
<shka_> we can't let that happen!
<stylewarning> It seems the best way to have Lisp at a company is to be in a leadership position where you call the shots AND you really have convinced yourself Lisp will be more productive than throwing up a Flask server with MySQL.
warweasle has joined #lisp
<skidd0> but leadership doesn't code
<skidd0> that's the disconnect i hate
<skidd0> my other lang i've got exp. with is Python and flask
<skidd0> but that's ALSO not in the meteor, react, mongo club
<stylewarning> But leadership is responsible for the maintenance and outlook of the company, and “reducing risk”
<skidd0> so they have me learning this shit that i don't like
frodef has joined #lisp
<skidd0> stylewarning: i see and understand that
<skidd0> but in my head, the risk of the code/lang should be measured, reported, and decided on by those that work with it
<stylewarning> (FWIW I don’t think Lisp is a very risky choice if you’re ok with training somebody for 1-2 weeks)
<stylewarning> (But my view there isn’t universal)
<skidd0> well and i document as i code
<skidd0> so really, if they're worried, they can tell the new guy to check the doc strings
<skidd0> but this whole company is run on 10yo speghetti
<skidd0> that they have me fixing up. so, this co. has me simultaneously learning classic ASP and that meteor stack
<skidd0> while i'm part time
dale has quit [Quit: dale]
pierpal has joined #lisp
cage_ has quit [Remote host closed the connection]
sjl has joined #lisp
nikkal has quit [Read error: Connection reset by peer]
varjag has joined #lisp
asarch has quit [Quit: Leaving]
sauvin has quit [Read error: Connection reset by peer]
ntbre has quit [Quit: ntbre]
lnostdal has quit [Quit: https://www.Quanto.ga/ -- Immutable state trading system in Clojure]
nanoz has quit [Ping timeout: 246 seconds]
Bike has quit [Ping timeout: 256 seconds]
ntbre has joined #lisp
random-nick has quit [Read error: Connection reset by peer]
nikkal has joined #lisp
zmt01 has joined #lisp
ntbre has quit [Quit: ntbre]
JetJej has quit [Read error: Connection reset by peer]
zmt00 has quit [Ping timeout: 240 seconds]
verisimilitude has joined #lisp
karlosz has joined #lisp
ntbre has joined #lisp
xkapastel has quit [Quit: Connection closed for inactivity]
flazh has quit [Quit: flazh]
Bike has joined #lisp
flazh has joined #lisp
kirkwood has quit [Quit: ZNC 1.8.x-git-97-91af796c - https://znc.in]
matijja has quit [Read error: Connection reset by peer]
random-nick has joined #lisp
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
rtypo has joined #lisp
Lycurgus has joined #lisp
Zaab1t has quit [Quit: bye bye friends]
hiroaki has quit [Ping timeout: 250 seconds]
troydm has joined #lisp
hiroaki has joined #lisp
lnostdal has joined #lisp
nowhere_man has joined #lisp
orivej has quit [Ping timeout: 244 seconds]
drbojingle has quit [Remote host closed the connection]
nowhere_man has quit [Ping timeout: 252 seconds]
verisimilitude has quit [Remote host closed the connection]
karlosz has quit [Quit: karlosz]
verisimilitude has joined #lisp
karlosz has joined #lisp
karlosz has quit [Remote host closed the connection]
Lycurgus has quit [Quit: Exeunt]
nikkal has quit [Ping timeout: 250 seconds]
shka_ has quit [Ping timeout: 246 seconds]
longshi has quit [Ping timeout: 240 seconds]
Josh_2 has quit [Remote host closed the connection]
dale has joined #lisp
ntbre has quit [Quit: ntbre]
longshi has joined #lisp
drolax has joined #lisp
drolax has quit [Read error: Connection reset by peer]
drolax has joined #lisp
jfb4 has joined #lisp
karlosz has joined #lisp
ntbre has joined #lisp
karlosz has quit [Client Quit]
dvdl has joined #lisp
drolax has quit [Read error: Connection reset by peer]
mejja has joined #lisp
hiroaki has quit [Ping timeout: 268 seconds]
milivoj has quit [Quit: milivoj]
orivej has joined #lisp
xkapastel has joined #lisp
Lycurgus has joined #lisp
Orion3k has quit [Ping timeout: 244 seconds]
ntbre has quit [Quit: ntbre]
Bike has quit []
dvdl has quit [Ping timeout: 252 seconds]
karlosz has joined #lisp
LiamH has quit [Quit: Leaving.]
varjag has quit [Quit: ERC (IRC client for Emacs 26.1)]
metallicus has joined #lisp
longshi has quit [Ping timeout: 272 seconds]
metallicus has quit [Client Quit]
random-nick has quit [Read error: Connection reset by peer]
rumbler31 has joined #lisp
<_death> lisp is a language for the long term.. much of this industry is not about that
<phoe> "but all of the databases we use nowadays will be passé in 10 or 20 years, we'll need to rewrite anyway to make use of the newest MassiveDB and ImmutableJS or whatever current fad is the shit"
<_death> you overestimate by 10x to 20x :)
<phoe> _death: if something is passé in 1 year, it will still be passe in 10 years
<phoe> unless history repeats again and somebody rediscovers Lisp
<_death> well, I feel lucky that I wrote about 0 lines of javascript code this year
<_death> though it's time for something new I guess
<phoe> this year is merely a month old
<_death> maybe more lisp ;)
abhixec has joined #lisp
ntbre has joined #lisp
ntbre has quit [Ping timeout: 240 seconds]
grobe0ba has quit [Quit: ZNC 1.7.0 - https://znc.in]
<verisimilitude> I'm fortunate to have written only a single line of JavaScript in my life and not for something I personally cared about.
<verisimilitude> How have you been lately, _death?
* ebrasca think maybe there is someting better than lisp.
<verisimilitude> What I think, ebrasca, is that a language many decades old still being at least near the top of things is a sign of stagnation.
grobe0ba has joined #lisp
keep_learning has quit [Remote host closed the connection]
<verisimilitude> It's not necessarily that Lisp is great, but more that most other things are just pathetic.
<verisimilitude> That's what I think, anyway.
karlosz has quit [Quit: karlosz]
<ebrasca> I think only old is bad argument.
verisimilitude is now known as Would_you_mind_v
Would_you_mind_v is now known as Would_you_voice_
Would_you_voice_ is now known as verisimilitude
Lord_of_Life has quit [Ping timeout: 250 seconds]
<verisimilitude> It still seems a sign of stagnation in the field, to me.
Lord_of_Life has joined #lisp
<ebrasca> verisimilitude: Have you done someting to fix this stagnation?
<verisimilitude> I intend to, eventually.
ntbre has joined #lisp
<_death> verisimilitude: not bad, all things considered. I think Lisp has something intrinsic in it that draws me to it, so I don't care if everything else is at stasis
verisimilitude has quit [Remote host closed the connection]