jackdaniel changed the topic of #commonlisp to: Common Lisp, the #1=(programmable . #1#) programming language | Wiki: <https://www.cliki.net> | IRC Logs: <https://irclog.tymoon.eu/libera/%23commonlisp> | Cookbook: <https://lispcookbook.github.io/cl-cookbook> | Pastebin: <https://plaster.tymoon.eu/>
JuanDaugherty has quit [Quit: JuanDaugherty]
amb007 has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 244 seconds]
amb007 has quit [Ping timeout: 260 seconds]
Lord_of_Life has joined #commonlisp
xyzoe1 has joined #commonlisp
akoana has quit [Quit: leaving]
jasonmw has joined #commonlisp
random-nick has quit [Ping timeout: 252 seconds]
ldb has joined #commonlisp
ldb has quit [Changing host]
ldb has joined #commonlisp
szkl has joined #commonlisp
X-Scale has joined #commonlisp
ldb has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)]
istewart has joined #commonlisp
thuna` has quit [Ping timeout: 248 seconds]
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 265 seconds]
X-Scale has quit [Ping timeout: 256 seconds]
decweb has quit [Ping timeout: 260 seconds]
pyooque has joined #commonlisp
puke is now known as Guest5956
pyooque is now known as puke
Guest5956 has quit [Ping timeout: 260 seconds]
X-Scale has joined #commonlisp
xyzoe1 has quit [Ping timeout: 252 seconds]
waleee has quit [Ping timeout: 265 seconds]
puke has quit [Quit: puke]
decweb has joined #commonlisp
brokkoli_origin has quit [Ping timeout: 248 seconds]
brokkoli_origin has joined #commonlisp
NotThatRPG has joined #commonlisp
triffid has quit [Remote host closed the connection]
NotThatRPG has quit [Ping timeout: 260 seconds]
X-Scale has quit [Ping timeout: 256 seconds]
decweb has quit [Ping timeout: 276 seconds]
benjaminl has joined #commonlisp
psilord has quit [Remote host closed the connection]
psilord has joined #commonlisp
pillton has joined #commonlisp
X-Scale has joined #commonlisp
amb007 has joined #commonlisp
X-Scale has quit [Ping timeout: 256 seconds]
johnjaye has quit [Ping timeout: 265 seconds]
johnjaye has joined #commonlisp
wacki has joined #commonlisp
istewart has quit [Quit: Konversation terminated!]
eddof13 has joined #commonlisp
eddof13 has quit [Client Quit]
szkl has quit [Quit: Connection closed for inactivity]
bike has quit [Ping timeout: 255 seconds]
bike has joined #commonlisp
johnjaye has quit [Ping timeout: 252 seconds]
JuanDaugherty has joined #commonlisp
amb007 has quit [Remote host closed the connection]
amb007 has joined #commonlisp
Noisytoot is now known as Guest9845
Guest9845 has quit [Killed (platinum.libera.chat (Nickname regained by services))]
Noisytoot has joined #commonlisp
King_julian has joined #commonlisp
amb007 has quit [Ping timeout: 248 seconds]
amb007 has joined #commonlisp
Noisytoot has quit [Excess Flood]
Pixel_Outlaw has quit [Quit: Leaving]
JuanDaugherty has quit [Quit: JuanDaugherty]
donleo has joined #commonlisp
Noisytoot has joined #commonlisp
shka has joined #commonlisp
fitzsim has quit [Read error: Connection reset by peer]
dawids has joined #commonlisp
amb007 has quit [Ping timeout: 244 seconds]
dawids has quit [Remote host closed the connection]
amb007 has joined #commonlisp
rainthree has joined #commonlisp
pve has joined #commonlisp
dcb has quit [Read error: Connection reset by peer]
pillton has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)]
dino_tutter has joined #commonlisp
edgar-rft is now known as ChatGPT
ChatGPT is now known as Guest3911
Guest3911 is now known as edgar-rft
kamafam has joined #commonlisp
danse-nr3 has joined #commonlisp
danse-nr3 has quit [Remote host closed the connection]
danse-nr3 has joined #commonlisp
danse-nr3 has quit [Remote host closed the connection]
danse-nr3 has joined #commonlisp
danse-nr3 has quit [Remote host closed the connection]
danse-nr3 has joined #commonlisp
danse-nr3 has quit [Remote host closed the connection]
danse-nr3 has joined #commonlisp
danse-nr3 has quit [Remote host closed the connection]
simendsjo has joined #commonlisp
_cymew_ has joined #commonlisp
X-Scale has joined #commonlisp
aciep has joined #commonlisp
X-Scale40 has joined #commonlisp
X-Scale has quit [Ping timeout: 256 seconds]
olle has joined #commonlisp
m3tti has quit [Ping timeout: 245 seconds]
m3tti has joined #commonlisp
X-Scale40 has quit [Ping timeout: 256 seconds]
_cymew_ has quit [Ping timeout: 252 seconds]
_cymew_ has joined #commonlisp
_cymew_ has quit [Ping timeout: 245 seconds]
mwnaylor has quit [Ping timeout: 272 seconds]
King_julian has quit [Ping timeout: 244 seconds]
aciep has quit [Ping timeout: 255 seconds]
random-nick has joined #commonlisp
jrm has quit [Quit: ciao]
jrm has joined #commonlisp
phantomics has quit [Ping timeout: 276 seconds]
yitzi has joined #commonlisp
King_julian has joined #commonlisp
thuna` has joined #commonlisp
johnjaye has joined #commonlisp
xyzoe1 has joined #commonlisp
awlygj has joined #commonlisp
xyzoe1 has quit [Quit: Leaving]
uhuh has joined #commonlisp
cage has joined #commonlisp
fugata is now known as contrapunctus
awlygj has quit [Ping timeout: 252 seconds]
awlygj has joined #commonlisp
pestctrl has joined #commonlisp
decweb has joined #commonlisp
szkl has joined #commonlisp
cage has quit [Remote host closed the connection]
rainthree has quit [Ping timeout: 244 seconds]
olle has left #commonlisp [#commonlisp]
rainthree has joined #commonlisp
pkal has quit [Remote host closed the connection]
pkal has joined #commonlisp
lucasta has joined #commonlisp
pkal has quit [Remote host closed the connection]
pkal has joined #commonlisp
pkal has quit [Remote host closed the connection]
pkal has joined #commonlisp
pkal has quit [Remote host closed the connection]
pkal has joined #commonlisp
rainthree has quit [Remote host closed the connection]
rainthree has joined #commonlisp
pkal has quit [Remote host closed the connection]
pkal has joined #commonlisp
King_julian has quit [Ping timeout: 255 seconds]
pkal has quit [Remote host closed the connection]
pkal has joined #commonlisp
King_julian has joined #commonlisp
pestctrl has quit [Ping timeout: 272 seconds]
flip214 has quit [Ping timeout: 244 seconds]
X-Scale has joined #commonlisp
pkal has quit [Remote host closed the connection]
pkal has joined #commonlisp
cmack has joined #commonlisp
pkal has quit [Remote host closed the connection]
pkal has joined #commonlisp
dcb has joined #commonlisp
dcb has quit [Client Quit]
dcb has joined #commonlisp
zizitop has joined #commonlisp
<zizitop> I just asked this in #lisp, but maybe I should ask here as well. I'm trying to use CLSQL with SQLite3 on Windows. I can't seem to load my sqlite3.dll file. Here's what I tried. (clsql:push-library-path "c:/sys/emacs/usr/sqlite-studio/sqlite3.dll") ("c:/sys/emacs/usr/sqlite-studio/sqlite3.dll" "c:/sys/emacs/usr/sqlite-studio/*.*") CL-USER> (ql:quickload "clsql-sqlite3") To load "clsql-sqlite3": Load 1 ASDF system: clsql-sqlite3 ;
<zizitop> Loading "clsql-sqlite3" ; ; compilation unit aborted ; caught 1 fatal ERROR condition Couldn't load foreign libraries "libsqlite3", "sqlite3". (searched CLSQL-SYS:*FOREIGN-LIBRARY-SEARCH-PATHS*: ("c:/sys/emacs/usr/sqlite-studio/sqlite3.dll" "c:/sys/emacs/usr/sqlite-studio/*.*"))
<zizitop> Does anyone know what I should try on Windows? One thing I haven't tried is trying to load another DLL---from another source, say.
<zizitop> Here's the one I'm trying: %file sqlite3.dll\nsqlite3.dll: PE32 executable (DLL) (console) Intel 80386, for MS Windows
<zizitop>
<beach> Oh, wow, a bunch of complicated choices.
<zizitop> Lol. Can you elaborate? Total newbie here.
<beach> Windows, SQL, FFI. All complicated.
<zizitop> Yeah.
<zizitop> I use sqlite3.dll with Racket, for instance.
dlowe has quit [Quit: Irken 1.0]
Noisytoot is now known as Guest7468
Noisytoot has joined #commonlisp
<rainthree> zizitop I'll try to assist you, since I'm also on Windows
Guest7468 has quit [Ping timeout: 255 seconds]
uhuh` has joined #commonlisp
zxcvz has joined #commonlisp
<zizitop> Hey, rainthree! I appreciate that. If you any ideas, I'll try them out here.
zxcvz has quit [Client Quit]
<rainthree> great choice btw, sqlite is so lightweight (compared to an Oracle server for example); it's always good to use the best tools available
<zizitop> Yeah, sqlite seems sufficient for most projects!
<rainthree> it's been a while since I last used clsql, lemme see if it loads
<zizitop> I hope it does.
uhuh has quit [Ping timeout: 276 seconds]
uhuh` has quit [Client Quit]
<rainthree> zizitop: I did the same steps as you did, with the only difference that I added #p before the namestring, and it worked
<rainthree> (clsql:push-library-path #p"d:/sqlite3.dll")
<rainthree> then (ql:quickload "clsql-sqlite3") ; worked
<rainthree> also before clsql:push-library-path I did a (probe-file #p"d:/sqlite3.dll") in the repl to make sure the file is there
King_julian has quit [Ping timeout: 265 seconds]
NotThatRPG has joined #commonlisp
<zizitop> Omg! Let me try that.
<zizitop> CL-USER> (probe-file #p"c:/sys/emacs/usr/sqlite-studio/sqlite3.dll") #P"c:/sys/emacs/usr/sqlite-studio/sqlite3.dll" CL-USER> (ql:quickload "clsql-sqlite3") [...] Couldn't load foreign libraries "libsqlite3", "sqlite3". (searched CLSQL-SYS:*FOREIGN-LIBRARY-SEARCH-PATHS*: (#P"c:/sys/emacs/usr/sqlite-studio/sqlite3.dll" [...])
<rainthree> hah
<rainthree> what kind of application do you plan to build with it?
<zizitop> I'm writing an NNTP server.
<rainthree> what's nntp
<zizitop> Messages so far as stored on the file system. But I want to build an index of message-ids and now let's bring sqlite for an easy life.
<zizitop> NNTP is the protocol for newsgroups.
<rainthree> in what format are they stored on the file system?
<zizitop> Have you ever accessed the USENET?
<zizitop> Just plaintext.
<rainthree> great
<rainthree> you can actually skip sqlite and use something even better, that is only available in Common Lisp
<zizitop> Such as?
<rainthree> some alien technology from beach https://github.com/robert-strandh/Clobber/blob/master/Documentation/demo/demo1.lisp which basically allows us to transparently save the graph with all the objects that we want
<ixelp> Clobber/Documentation/demo/demo1.lisp at master · robert-strandh/Clobber · GitHub
bjorkint0sh has quit [Quit: "Every day, computers are making people easier to use." David Temkin]
edgar-rft_ has joined #commonlisp
eddof13 has joined #commonlisp
<rainthree> it's battle tested by me that's why I recommend it
flip214 has joined #commonlisp
edgar-rft has quit [Ping timeout: 260 seconds]
bjorkintosh has joined #commonlisp
bjorkintosh has joined #commonlisp
bjorkintosh has quit [Changing host]
<zizitop> Let me understand what it is.
synchromesh has quit [Read error: Connection reset by peer]
synchromesh has joined #commonlisp
<rainthree> Let's say we have an application that does stuff (add-money 500 :to account1) (transfer-money :from account1 :to account2) etc
<zizitop> Okay.
<rainthree> the app works great and we'd like to have persistence, we'd like to save in real time the state of the application
<rainthree> so we do this: (clobber:execute 'add-money 500 :to account1) (clobber:execute 'transfer-money :from account1 :to account2), and we're done
<rainthree> just adding an execute will make the objects and the operations, persistent into the database on the disk
<zizitop> Keep in mind that I'm talking about an index, which would be nice to think that this index could grow into gigabytes. With an SQL engine, I don't need to load it all into memory.
<zizitop> Also, if it's SQL, I can nagivate through it with other software such as SQLite Studio.
<rainthree> how many gigabytes?
<zizitop> Right now it's not even 1 GiB.
<zizitop> But it's nice to think we could go into 1000 GiB.
<zizitop> Without having anything to worry about.
<zizitop> SQLite seems totally right for the job.
<rainthree> "The designers of the Atlas Computer at the University of Manchester invented virtual memory in the 1950s to eliminate a looming programming problem: planning and scheduling data transfers between main and secondary memory and recompiling programs for each change of size of main memory." [Denning 1996]
<zizitop> Now you lost me there.
<zizitop> What paper is this by the way?
<rainthree> I just googled "why was virtual memory invented"
X-Scale has quit [Quit: Client closed]
<zizitop> "Before memory was virtual"?
<bjorkintosh> rainthree: because memory was limited in early computers.
<zizitop> Swapped memory or not, it takes processing too. Delegating all the complexity of doing this effectively to an engine such as sqlite seems a lot more efficient than not.
<rainthree> zizitop: Ok then the next step is to press alt-. after you put the cursor over :clsql-sqlite3
JuanDaugherty has joined #commonlisp
<zizitop> Sorry? :)
<zizitop> To do what? I'm so lost.
<rainthree> are you on emacs?
<zizitop> Yes.
<zizitop> Oh, you mean to look into the source code.
<zizitop> I already did it.
<rainthree> clsql-20221106-git/db-sqlite3/sqlite3-loader.lisp
<zizitop> Yes. This is the one that fails: (defmethod database-type-load-foreign ((database-type (eql :sqlite3)))
<zizitop> (clsql-uffi:find-and-load-foreign-library '("libsqlite3" "sqlite3")
<zizitop> :module "sqlite3"
<zizitop> :supporting-libraries *sqlite3-supporting-libraries*)
<zizitop> (setq *sqlite3-library-loaded* t))
<zizitop>
<rainthree> put a break before (try-load pn) which is inside clsql-uffi:find-and-load-foreign-library , etc
<rainthree> (break)
<zizitop> I don't know how to put a break.
<zizitop> Are we talking about the SBCL debugger?
edgar-rft_ is now known as edgar-rft
<rainthree> yes, just type (break) in any function
<rainthree> then recompile it
<rainthree> when that (break) is reached, the debugger will show up
<zizitop> Cool. Let me try that.
<zizitop> I broke right there. Now I need to learn to use the debugger. :)
zxcvz has joined #commonlisp
zxcvz has quit [Client Quit]
<zizitop> No idea how to step forward, say.
<rainthree> yeah, then you can inspect the variables, to see if it's trying to load the right pathnames, etc. Eventually we get to the routine that actually loads a dll, then we'll try to use it in the repl, (load-dll "my.dll") and see if it works independently, or there are issues at a lower level inside it
<zizitop> Good idea.
<zizitop> The loading itself seems to be done by (uffi:load-foreign-library testpath :module module :supporting-libraries supporting-libraries)
<rainthree> unfortunately until beach and the other hard working people from the team finishe SICL we won't have very usable debugging tools; I agree that it sounds like an obviously desirable functionality, to be able to step forward... It is only half supported in SBCL
<zizitop> I actually think the REPL itself is the debugger.
<zizitop> Here's something more interesting: CL-USER> (uffi:load-foreign-library #P"c:/sys/emacs/usr/sqlite-studio/sqlite3.dll") Error opening shared object "c:\\sys\\emacs\\usr\\sqlite-studio\\sqlite3.dll":
<zizitop> %1 is not a valid Win32 application. [Condition of type
<zizitop> SIMPLE-ERROR]
<zizitop>
<zizitop> That's probably the reason.
<rainthree> perhaps the dll is wrong
<rainthree> is broken in some way
<rainthree> (uffi:load-foreign-library #p"d:/sqlite3.dll") ; works fine on my machine
<zizitop> %pwd c:/sys/emacs/usr/sqlite-studio %file sqlite3.dll sqlite3.dll: PE32 executable (DLL) (console) Intel 80386, for MS Windows
<zizitop>
<zizitop> It works for SQLite Studio.
<rainthree> I will upload mine to you
<zizitop> "There was an error retrieving your file."
<zizitop> "Deleted."
<zizitop> :-)
<zizitop> Oh, look at this DLL. It's an i386 one.
<zizitop> Most likely my SBCL is 64-bit.
<rainthree> my sbcl is also 64-bit, most probably
<zizitop> %file c:/sys/emacs/usr/sbcl/sbcl.exe
<zizitop> c:/sys/emacs/usr/sbcl/sbcl.exe: PE32+ executable (console) x86-64, for MS Windows
<zizitop>
<zizitop> I think we found the problem. I need a 64-bit SQLite3.DLL.
<rainthree> yeah
<zizitop> Let me see if I have one.
<zizitop> Somewhere.
<zizitop> %file ~/python/DLLs/sqlite3.dll
<zizitop> c:/sys/emacs/usr/python/DLLs/sqlite3.dll: PE32+ executable (DLL) (GUI) x86-64, for MS Windows
<zizitop>
<zizitop> Looking good!
<zizitop> It says GUI, though. :)
<zizitop> Plim!
<zizitop> CL-USER> (uffi:load-foreign-library #P"c:/sys/emacs/usr/python/DLLs/sqlite3.dll")
<zizitop> T
<zizitop>
<rainthree> great!
<zizitop> rainthree: you're the man! Thanks very much!
<rainthree> you are welcome
<zizitop> Thanks for the Clobber suggestion too. Had never heard of it.
<rainthree> yeah, and there are other alien technology stuff out there too. But one step at a time.
<zizitop> Yeah, I'm sure there are a thousand smart ways to do this.
_cymew_ has joined #commonlisp
<zizitop> But we also need some down-to-Earth approach to things. I couldn't write this in Javascript, say, or whatever, no matter how intelligent the tool might be. We need to use what we know and so on. We can go in every direction at the same time.
<zizitop> Remember what Descartes said in the Discourse on the Method.
<zizitop> It's better to go on a straight line and end up at a dead end than to go around in circles and end up in the same place.
uhuh has joined #commonlisp
<rainthree> right. Let's remember also Confucius who said: before cutting the wood, polish the tool
<zizitop> Well said.
<rainthree> speaking of Javascript :) https://www.youtube.com/watch?v=lc5Np9OqDHU
<ixelp> Why We Should Stop Using JavaScript According to Douglas Crockford (Inventor of JSON) - YouTube
<zizitop> Let's not speak of Javascript. :)
<zizitop> Very cool video! Thanks!
<zizitop> I really like his office!
<zizitop> I like space.
<zizitop> LOL! He skipped LISP! :)
<zizitop> He's right! We should get back to Lisp Machines.
<zizitop> :)
<rainthree> certainly
<beach> We definitely don't need Lisp Machines.
<zizitop> Lol. Why not? We're using the GNU EMACS.
decweb has quit [Remote host closed the connection]
<rainthree> we need good operating systems
<beach> Lisp runs just fine on stock hardware. No need for instructions adapted to Lisp.
<zizitop> The GNU EMACS is a Lisp Machine-like system.
<zizitop> Oh, sure. I mean the design of the system.
<zizitop> I don't mean an implementation.
<beach> We also need better design than (say) Genera. I don't think it would do very well if connected to the Internet.
<zizitop> I never used, for example. I have no idea what I'm talking about.
<zizitop> But I use the GNU EMACS.
<zizitop> And I think it's wonderful.
<beach> Good to know.
JuanDaugherty has quit [Quit: JuanDaugherty]
<zizitop> I like the idea of the entire system being like the GNU EMACS. Extensible ``on the spot'', self-documented, REPL-based and so on.
<zizitop> Imagine if the Windows API were REPL-ready, say, and self-documented. I think these ideas ought to win.
<zizitop> Intelligence always wins. But things take time.
<zizitop> Which why a good education makes us propaganda-resistant.
<rainthree> usually one who has not burnt himself, cannot be given hints or education;
<rainthree> so it's not that easy
<zizitop> ``Nobody said it was easy.'' -- The Scientist, Coldplay, 2002.
lucasta has quit [Quit: Leaving]
uhuh has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1)]
rainthree has quit [Remote host closed the connection]
rainthree has joined #commonlisp
rainthree has quit [Read error: Connection reset by peer]
waleee has joined #commonlisp
awlygj has quit [Quit: leaving]
attila_lendvai has joined #commonlisp
jon_atack has quit [Ping timeout: 252 seconds]
jonatack has joined #commonlisp
ily3 has joined #commonlisp
ily3 has quit [Changing host]
ily3 has joined #commonlisp
ym has joined #commonlisp
ily3 has quit [Ping timeout: 272 seconds]
eddof13 has quit [Quit: eddof13]
donleo has quit [*.net *.split]
steew has quit [*.net *.split]
jasom has quit [*.net *.split]
srhm has quit [*.net *.split]
gjn has quit [*.net *.split]
nathanb has quit [*.net *.split]
mcoll has quit [*.net *.split]
skin has quit [*.net *.split]
nytpu has quit [*.net *.split]
payphone has quit [*.net *.split]
bheesham has quit [*.net *.split]
gosha_ has quit [*.net *.split]
shunter has quit [*.net *.split]
HerlockSholmes has quit [*.net *.split]
mhcat has quit [*.net *.split]
Schnouki has quit [*.net *.split]
ggb has quit [*.net *.split]
gko has quit [*.net *.split]
Oladon has quit [*.net *.split]
Perflosopher has quit [*.net *.split]
dustinm` has quit [*.net *.split]
alip has quit [*.net *.split]
fe[nl]ix has quit [*.net *.split]
younder has quit [*.net *.split]
jasom has joined #commonlisp
skin has joined #commonlisp
steew has joined #commonlisp
donleo has joined #commonlisp
gosha_ has joined #commonlisp
nytpu has joined #commonlisp
payphone has joined #commonlisp
gjn has joined #commonlisp
nathanb has joined #commonlisp
srhm has joined #commonlisp
mcoll has joined #commonlisp
bheesham has joined #commonlisp
Schnouki has joined #commonlisp
mhcat has joined #commonlisp
HerlockSholmes has joined #commonlisp
ggb has joined #commonlisp
shunter has joined #commonlisp
gko has joined #commonlisp
Oladon has joined #commonlisp
Perflosopher has joined #commonlisp
alip has joined #commonlisp
dustinm` has joined #commonlisp
fe[nl]ix has joined #commonlisp
younder has joined #commonlisp
Perflosopher has quit [Max SendQ exceeded]
Perflosopher has joined #commonlisp
<zizitop> So, my little dream has been crushed.
<zizitop> I cannot use SQLite as my database because my server spawns multiple processes in parallel and each process must be able to write to the database (in a serialized manner).
<zizitop> I can't even open two connections to an SQLite database.
<zizitop> And I'm not multi-threaded. I'm multi-proccess.
<zizitop> Why am I multi-proccess? Because I use a TCP superserver.
<zizitop> And I think that's the simplest thing to do.
<zizitop> Simplest in terms of network connections, of course. :)
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #commonlisp
akovalenko has joined #commonlisp
jonatack has quit [Read error: Connection reset by peer]
akovalenko_ has quit [Ping timeout: 260 seconds]
attila_lendvai has quit [Read error: Connection reset by peer]
NotThatRPG has quit [Ping timeout: 252 seconds]
attila_lendvai has joined #commonlisp
<bjorkintosh> zizitop: does this help at all? https://til.simonwillison.net/sqlite/enabling-wal-mode
<ixelp> Enabling WAL mode for SQLite database files | Simon Willison’s TILs
<random-nick> sqlite should be usable from multiple processes in journal mode too
<zizitop> Hm. Sounds very interesting. Let me read this. Thanks!
kevingal has joined #commonlisp
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #commonlisp
attila_lendvai has quit [Read error: Connection reset by peer]
<ixelp> SQLite Frequently Asked Questions
<zizitop> It's not clear to me that my problem is actually with SQLite3. Maybe it's the CL library that doesn't let me open two connections to the same database?
<zizitop> While trying to connect to database NIL; using database-type NIL: Error NIL / There is an existing connection #<SQLITE3-DATABASE index.db OPEN {10018A8493}> to database index.db. has occurred.
<zizitop>
<zizitop> I might be using the library incorrectly. Total newbie here.
<zizitop> But I'm trying from the REPL. Maybe I can from two different processes.
<zizitop> Let me try.
kurfen_ has quit [Ping timeout: 255 seconds]
eddof13 has joined #commonlisp
<zizitop> And that's right! :-)
eddof13 has quit [Client Quit]
<zizitop> It's the library that won't let me open two connections.
<zizitop> So I think I have nothing to worry about. Even because the writing will take place very seldom. It's the reading that is a bit more intensive.
<zizitop> Anyway, thanks very much! I think I can write a prototype now.
kurfen has joined #commonlisp
jonatack has joined #commonlisp
<shawnw> That's silly. sqlite3 certainly supports opening multiple connections to the same database file in the same process (Only sane way to use it with threads IME).
mwnaylor has joined #commonlisp
<zizitop> Don't think anything bad of CLSQL. I'm using it for the first time. I can barely read its documentation. :)
<zizitop> It might do anythin you want. I've no idea.
pve has quit [Quit: leaving]
<Shinmera> In other news, Charles and I are back to working on the SBCL/NX port. We've been making some good progress, and are now trying to get the tests to run for all the prerequisite libraries we'll need to get Trial going.
<Shinmera> Still lots of question marks around the eventual performance, but we'll worry about that once we actually got things running in any capacity.
jonatack has quit [Read error: Connection reset by peer]
<Shinmera> At least the build system is now properly figured out, so deployment isn't a complete nightmare anymore like it used to be.
ello has quit [Quit: ZNC 1.8.2 - https://znc.in]
ello has joined #commonlisp
aciep has joined #commonlisp
King_julian has joined #commonlisp
Pixel_Outlaw has joined #commonlisp
ello has quit [Quit: ZNC 1.8.2 - https://znc.in]
akoana has joined #commonlisp
ello has joined #commonlisp
King_julian has quit [Ping timeout: 252 seconds]
_cymew_ has quit [Ping timeout: 252 seconds]
<mwnaylor> Are there functions that rotate the contents of lists? First item becomes the last item and the last item becomes the first?
<mwnaylor> Lists or other sequences.
zizitop has quit [Remote host closed the connection]
<random-nick> and the other elements stay the same?
<mwnaylor> (rotate)
<mwnaylor> (rotate-l '(1 2 3 4)) -
<mwnaylor> > '(2 3 4 1)
ym has quit [Ping timeout: 264 seconds]
NotThatRPG has joined #commonlisp
<mwnaylor> (rotate-r '(1 2 3 4)) -> (4 1 2 3)
<yitzi> mwnayor: (defun rotate (list) (nconc (last list) (butlast list)))
<mwnaylor> Sorry for bad typing.
<mwnaylor> yitzi: Thanks for suggestion. I tend to avoid destructive operations. Prefer to do things functionally, then maybe do a setf at the final step. I'm comfortable rolling my own rotation functions, but thought I'd ask before reinventing the wheel.
X-Scale has joined #commonlisp
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
B00T has joined #commonlisp
B00T has left #commonlisp [#commonlisp]
simendsjo has quit [Ping timeout: 260 seconds]
<random-nick> LAST and BUTLAST are nondestructive, so you can just replace NCONC with APPEND to get a nondestructive version of that function
ily4 has joined #commonlisp
kamafam has quit [Read error: Connection reset by peer]
X-Scale has quit [Ping timeout: 256 seconds]
msv has quit [Remote host closed the connection]
ily4 has quit [Ping timeout: 248 seconds]
jonatack has joined #commonlisp
jonatack has quit [Ping timeout: 265 seconds]
amb007 has quit [Ping timeout: 264 seconds]
<selwon> hi everyone
danse-nr3 has joined #commonlisp
<selwon> ive finished porting clisp to 'pure' wasm without relying on the browser for memory management, stack unwinding etc.
<selwon> the imports it does use are mostly only for i/o in order to establish a repl
<selwon> you may like to try it here
<ixelp> modules/wasm/lisp.run.wasm · wasm-without-imports-2 · selwynsimsek / clisp-wasm · GitLab
<selwon> you can run it with a standalone wasm runtime such as wasmer or wasmtime
<selwon> performance of compiled functions appears to be within 3-4x that of a native clisp
dino_tutter has quit [Ping timeout: 265 seconds]
random-nick has quit [Ping timeout: 252 seconds]
<bjorkintosh> congratulations, selwon.
<aeth> 1. impressive
<aeth> 2. ouch, that performance, though
<bjorkintosh> aeth: it's a start.
<aeth> bjorkintosh: maybe... but clisp isn't very performant to begin with
<bjorkintosh> aeth: a time for celebration regardless. clisp works on wasm. it didn't before.
<bjorkintosh> hip hip?
<selwon> im just grateful its not a full order of magnitude
<selwon> considering the fact that setjmp had to be emulated i regard 3x as reasonable
<selwon> and i have optimised for size not performance
shka has quit [Ping timeout: 260 seconds]
<selwon> so it could be improved upon
random-nick has joined #commonlisp
<bjorkintosh> hooray.
<aeth> this is probably much better than JSCL
<aeth> which last I checked is still very incomplete
<ixelp> JSCL
<aeth> (defun foo (x) (* x x)) (foo 42d0) => 1764
<aeth> and yes (type-of (foo 42d0)) => INTEGER
<random-nick> if you're targeting the browser you can use the regular wasm-compiled clisp
<aeth> so JSCL still feels more like a Lispy syntax to JS (like ParenScript) even in the simplest possible test cases I write
<random-nick> or the wasm version of ecl
<aeth> online REPLs are definitely a use case where performance (usually) doesn't matter
aciep has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)]
donleo has quit [Ping timeout: 276 seconds]
jonatack has joined #commonlisp
kevingal has quit [Ping timeout: 252 seconds]
<selwon> yes, the emscripten solutions are probably better for the browser
<selwon> i intended to target standalone wasm runtimes
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 272 seconds]
akoana has quit [Quit: leaving]
pillton has joined #commonlisp
phantomics has joined #commonlisp
phantomics has quit [Ping timeout: 252 seconds]
danse-nr3 has quit [Quit: it's very late here]
synchromesh has quit [Read error: Connection reset by peer]
phantomics has joined #commonlisp
synchromesh has joined #commonlisp