Xach changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/>
mathrick has joined #lisp
jmercouris has quit [Ping timeout: 258 seconds]
trocado has joined #lisp
libertyprime has quit [Quit: leaving]
karlosz has joined #lisp
karlosz has quit [Quit: karlosz]
FreeBirdLjj has joined #lisp
smokeink has joined #lisp
FreeBirdLjj has quit [Ping timeout: 260 seconds]
trocado has quit [Ping timeout: 240 seconds]
zclark has joined #lisp
random-nick has quit [Ping timeout: 260 seconds]
zclark` has joined #lisp
zclark has quit [Ping timeout: 258 seconds]
zclark` has quit [Remote host closed the connection]
_jrjsmrtn has joined #lisp
__jrjsmrtn__ has quit [Ping timeout: 268 seconds]
varjag has quit [Ping timeout: 260 seconds]
Oddity has quit [Ping timeout: 260 seconds]
ahungry has joined #lisp
sjl has joined #lisp
jonatack has quit [Ping timeout: 248 seconds]
Oddity has joined #lisp
slyrus has quit [Remote host closed the connection]
slyrus has joined #lisp
EvW1 has quit [Ping timeout: 248 seconds]
EvW has joined #lisp
ahungry` has joined #lisp
ahungry has quit [Ping timeout: 260 seconds]
quazimodo has quit [Ping timeout: 268 seconds]
quazimodo has joined #lisp
bitmapper has quit [Ping timeout: 268 seconds]
Bourne has joined #lisp
gnufr33d0m has quit [Remote host closed the connection]
gnufr33d0m has joined #lisp
raghavgururajan has joined #lisp
Lord_of_Life has quit [Ping timeout: 268 seconds]
Lord_of_Life has joined #lisp
khisanth_ has quit [Ping timeout: 240 seconds]
froggey has quit [Ping timeout: 268 seconds]
bilegeek has quit [Quit: Leaving]
EvW has quit [Ping timeout: 260 seconds]
froggey has joined #lisp
khisanth_ has joined #lisp
karlosz has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
Oladon has quit [Quit: Leaving.]
sjl has quit [Quit: WeeChat 2.2-dev]
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
clothespin__ has joined #lisp
clothespin has joined #lisp
clothespin_ has quit [Ping timeout: 240 seconds]
clothespin__ has quit [Ping timeout: 258 seconds]
Kundry_Wag has joined #lisp
Kevslinger has joined #lisp
asarch has joined #lisp
<markasoftware> is there any rhyme or reason to how much the compiler actually does at compile time? SBCL fails on a file whose only contenst are (make-package :foo) (in-package :foo) because it thinks the foo package doe.sn't exist, but clisp works just fine
<markasoftware> this behavior seems quite out of line on SBCL's part...
SaganMan has joined #lisp
shangul has joined #lisp
ebrasca has joined #lisp
karlosz has quit [Ping timeout: 265 seconds]
<White_Flame> try defpackage instead
<White_Flame> and it's not the compiler, it's the reader
SaganMan is now known as nekosagan
<White_Flame> well, when compiling, the MAKE-PACKAGE isnt' actually executed until runtime, but IN-PACKAGE needs to find the package name at read-time for further symbols to be interned there
<markasoftware> White_Flame: I thought in-package was evaluated during normal evaluation time
<White_Flame> (in-package :foo) (func) (in-package :bar) (func)
Kundry_Wag has quit [Remote host closed the connection]
<White_Flame> the difference between foo:func and bar:func need to come from the reader
<markasoftware> hence why (progn (in-package :other-package) 'foo) returns foo from the original package
<White_Flame> PROGN at toplevel leaves its contents at toplevel as well
<White_Flame> and if other-package imports foo from the original package, then you'd see that behavior too
<markasoftware> you can type this in yourself. It will return cl-user::foo
<White_Flame> ok yeah, it does delay it until after the progn form
ebzzry has quit [Read error: Connection reset by peer]
<White_Flame> eg, 'x (progn (in-package :foo) 'x) 'x, the first and 2nd will be in CL-USER, the 3rd will be in FOO
<White_Flame> because the reader reads the entire PROGN form first, before any of its subforms can be evaluated at any stage
<markasoftware> Which means that in-package only does anything during the evaluation phase of the 2nd statement, before the read of the 3rd statement?
<White_Flame> yep. The reader reads 1 toplevel form at a time, so that read-level changes can happen at toplevel between forms
gravicappa has joined #lisp
Kundry_Wag has joined #lisp
<White_Flame> and an entire form is read before anything else can happen to it (well, excepting #.)
<White_Flame> (and any other reader macro side effects)
<markasoftware> Which brings me back to my original question: Why does a file containing only the two top-level forms (make-package :foo) (in-package :foo) fail to compile in SBCL?
<White_Flame> because in-package's compile-time happens before make-package's run-time
<markasoftware> why in the world does it check whether the package exists at compile time?
<White_Flame> so that it can change the reader
Oladon has joined #lisp
<White_Flame> remember, you're not loading the file, you're only compiling it
<markasoftware> ah i see
<White_Flame> so no toplevel forms are executing their runtime yet
<White_Flame> if you load the file, I suspect it would work
<markasoftware> So how does clisp not break on this?
<markasoftware> is it just slightyl smarter and understands the make-package?
<White_Flame> no clue, maybe it runs make-package at compile-time as well? yeah, something like that
<markasoftware> How does defpackage help here? Does SBCL understand defpackage at compile time?
<White_Flame> there's also a reason that most .asd defs have a separate package.lisp to set things up before any file that uses the package is even touched
<White_Flame> defpackage is a macro
<White_Flame> and the spec demands its effect at compile-time as well
<White_Flame> defpackage is also the idiomatic way of defining packages, unless you're doing purely runtime constructs
<markasoftware> and it expands into an (eval-when) ... whaaa
<boeg> I'm currently using net.didierverna.clon and simply have it installed via quicklisp and load it with `:depends-on` in my asd system. Currently I know I can use the "use" function in for example my package definition or use-package in a lisp file to use clon, but I'd rather it with available under the nickname "clon". Is that possible somehow?
<boeg> was*
<White_Flame> clhs rename-package
<White_Flame> lets you define new nicknames as well
<White_Flame> or use package local nicknames
<White_Flame> which is the more modern approach
<boeg> White_Flame: "or use package local nicknames" - can you be more specific? I don't see it in the manual?
<White_Flame> it's a newer feature, not part of the spec
<prumnopytis> Isn't nickname a thing?
<boeg> ah
<prumnopytis> Tfw repeating someone two lines above me
<White_Flame> prumnopytis: yes, but standard nicknames are in the global package space
<boeg> it seems net.didierverna.clon has a nickname. If it do `(package-nicknames (find-package 'net.didierverna.clon))` I get `("CLON")`. How do I use it?
<prumnopytis> Hmm
<White_Flame> package local nicknames are only visible within a package that defined one
markasoftware has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
<White_Flame> boeg: clon:foo ?
<boeg> hmm
<boeg> yes
<White_Flame> prumnopytis: so package1 can have the PLN utils: refer to foo-utils:, and package2 can have its PLN utils: refer to bar-utils:
<boeg> I think thought I remembered last I tried that it didnt work so I ended up using the full name
space_otter has joined #lisp
<boeg> but seems to work now
<boeg> White_Flame: thanks
<White_Flame> np
asarch has quit [Quit: Leaving]
ebzzry has joined #lisp
markasoftware has joined #lisp
<boeg> White_Flame: Ah, sorry, it doesn't work, I had had it manually defined in the current system, but when starting with an empty system, no, the nickname "clon" is not available
<boeg> but "net.didierverna.clon" is
ebzzry has quit [Ping timeout: 268 seconds]
<White_Flame> looking at the clon code, there's a (nickname-package) call which installs the CLON nicknam
<White_Flame> its defpackage doesn't include it
<boeg> yeah, (package-nicknames (find-package 'net.didierverna.clon))` does return `("CLON")`. But I can't use it?
<White_Flame> but if your own package does (defpackage ... (:local-nicknames (clon net.didierverna.clon))) then you don't have to change clon's state itself
<White_Flame> boeg: no idea what you're seeing. There might be a difference between what your code in files see at load time, vs what you see on the repl
<White_Flame> because the repl will run later after everything is set up
<boeg> well, what I mean is, how do I make the nickname available? If you understand. The full name is available but the nickname isn't, so I guess I have to tell asdf to include the nickname?
<boeg> or sbcl
<White_Flame> any use of clon: after the nickname is there should work
<White_Flame> are you saying that package-nicknames on the repl shows clon, but clon: doesn't work at that same repl?
bilegeek has joined #lisp
<boeg> Admittedly not, I did the package-nicknames in the repl, but am trying to use clon in a file I load into the repl
<boeg> maybe thats a problem
<White_Flame> right, that load is apparently happening before the clon nickname is installed
torbo has joined #lisp
<White_Flame> which is a runtime effect, not part of clon's defpackage
<White_Flame> I'd suggest using the package local nickname
<White_Flame> clon's runtime installation of a nickname is a hack to get around potential nickname collisions
<White_Flame> before PLNs became more available
<boeg> alright
quazimodo has quit [Ping timeout: 260 seconds]
<boeg> when you say "i'd suggest using the package local nickname" what exactly do you mean? It sounds like you are saying to use "clon:" but as we have established, it doesn't work
<White_Flame> "but if your own package does (defpackage ... (:local-nicknames (clon net.didierverna.clon))) then you don't have to change clon's state itself"
Arcaelyx has quit [Ping timeout: 265 seconds]
quazimodo has joined #lisp
<boeg> ah, sorry
<boeg> missed that
Kundry_Wag has quit [Remote host closed the connection]
<White_Flame> if your project is (defpackage :foo ...), and has a PLN, then when you're (in-package :foo), clon: should work even without clon's nickname installed
<White_Flame> *without clon's global nickname installed
<boeg> yes, it works, :local-nicknames was exactly what I was after, thank you very much!
<White_Flame> cool
<markasoftware> White_Flame: by putting my package definition in a different file than the (in-package) statement, asdf evaluates the packages.lisp file before any of my files that do in-package, which is why I get no error?
<White_Flame> correct. The files are compiled & loaded, meaning the toplevel effects will occur before the next file is read
<White_Flame> *toplevel runtime effects
<White_Flame> so even make-package should work if you put it in a file before the in-package
<White_Flame> (and have your file dependency ordering correct)
dddddd has quit [Remote host closed the connection]
pnp has joined #lisp
orivej has joined #lisp
Arcaelyx has joined #lisp
orivej has quit [Ping timeout: 265 seconds]
quazimodo has quit [Ping timeout: 265 seconds]
quazimodo has joined #lisp
jcowan has left #lisp [#lisp]
karlosz has joined #lisp
quazimodo has quit [Ping timeout: 258 seconds]
quazimodo has joined #lisp
<markasoftware> Why does a file with (make-package :foo) (in-package :foo) (export 'bar) evaluate properly in clisp? My understanding is that, since the package foo does not `use` common-lisp, the shadow function should not be defined.
<markasoftware> sbcl fails, as I expect it to.
<markasoftware> s/shadow/export
<markasoftware> huh, (package-use-list) on my new package shows that it *does*, in fact, use common-lisp, even though i never told it to
<markasoftware> How can I stop that and explicitly state that my package should not use any package?
<markasoftware> ahhhh :use has an implementation specific default
<markasoftware> whyyyyy would that be the spec
<markasoftware> i have wasted well over an hour today because of that
<markasoftware> but i guess it led me around to learning about some other things that I didn't know in the debugging process
ggole has joined #lisp
vlatkoB has joined #lisp
karlosz has quit [Quit: karlosz]
ebzzry has joined #lisp
<beach> Good morning everyone!
<beach> markasoftware: The list of default packages that are used is implementation specific
<beach> clhs defpackage
<pnp> good morning beach !
<beach> markasoftware: "If :use is not supplied, it defaults to the same implementation-dependent alue as the :use argument to make-package."
_whitelogger has joined #lisp
rippa has joined #lisp
rumbler31 has quit [Remote host closed the connection]
ahungry` has quit [Remote host closed the connection]
ahungry has joined #lisp
_whitelogger has joined #lisp
dale has quit [Quit: My computer has gone to sleep]
quazimodo has quit [Ping timeout: 258 seconds]
ghard`` has quit [Read error: No route to host]
nika has joined #lisp
fortitude has quit [Read error: Connection reset by peer]
quazimodo has joined #lisp
fortitude has joined #lisp
ahungry has quit [Remote host closed the connection]
torbo has quit [Remote host closed the connection]
quazimodo has quit [Ping timeout: 260 seconds]
quazimodo has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 265 seconds]
narimiran has joined #lisp
quazimodo has quit [Read error: Connection reset by peer]
pnp has quit [Remote host closed the connection]
shifty has quit [Ping timeout: 265 seconds]
nika_ has joined #lisp
nika has quit [Ping timeout: 260 seconds]
quazimodo has joined #lisp
gabiruh has joined #lisp
gabiruh_ has quit [Ping timeout: 240 seconds]
fortitude has quit [Ping timeout: 240 seconds]
Oladon has quit [Quit: Leaving.]
toorevitimirp has joined #lisp
quazimodo has quit [Ping timeout: 258 seconds]
akoana has left #lisp ["Leaving"]
quazimodo has joined #lisp
akoana_ has joined #lisp
akoana_ has quit [Client Quit]
akoana has joined #lisp
sauvin has quit [Quit: Leaving]
je4i has joined #lisp
sauvin_ has joined #lisp
Arcaelyx has quit [Quit: Arcaelyx]
toorevitimirp has quit [Ping timeout: 248 seconds]
toorevitimirp has joined #lisp
jonatack has joined #lisp
je4i has quit [Quit: ERC (IRC client for Emacs 25.3.1)]
toorevitimirp has quit [Ping timeout: 260 seconds]
je4i has joined #lisp
rnmhdn has joined #lisp
<rnmhdn> does lisp otimize
<prumnopytis> Compiler specific / yes
<rnmhdn> (+ (complex expression) (complex expression))
<rnmhdn> so that it would calculate complex expression only once
<no-defun-allowed> If that expression doesn't produce side effects and isn't too complicated, a compiler could do that.
<no-defun-allowed> But you probably should rewrite it as (* 2 <complex expression>) yourself.
<rnmhdn> is there a difference between functional and procedural languages in handling such optimizations?
<no-defun-allowed> Hm, for "pure" functional languages and languages with lazy evaluation, that kind of optimisation would be easier to apply.
akoana has left #lisp [#lisp]
<rnmhdn> what procedural languages have lazy evaluation?
<no-defun-allowed> Probably none, since side effects and lazy evaluation don't mix well.
<rnmhdn> what common functional languages don't have lazy-evaluation?
<no-defun-allowed> All except Haskell.
<prumnopytis> You can make things like laziness / shunt work appropriately into compile time with macros and things in lisp. In lisp you would use lisp's disassembling to look at how fast it is, I guess, rather than translate it into clang's intermediary language and write opt passes on that. I like lisp more.
<rnmhdn> is haskell pure?
<no-defun-allowed> (Well, maybe a few others do have lazy evaluation, but I would say it is less common than eager evaluation.)
<no-defun-allowed> I think so, but it has monad things to do impure stuff. You probably should ask #haskell.
<rnmhdn> yeah
<rnmhdn> thank you so much
hapticFeels has joined #lisp
<beach> rnmhdn: Languages don't optimize. Implementations do. Common Lisp has many different implementations, and each one has its own compiler that optimizes differently.
<rnmhdn> I know
<beach> OK.
<rnmhdn> by language I mean the expected value of the implementations :D
<rnmhdn> lol
<rnmhdn> so for example I'd say it's very highly unlikely that you find a python implementation that does that
<rnmhdn> but it seems like it's likely that a haskell implementation does it
<beach> Common Lisp has many more implementations than Python does, though, so there is greater variation in the level of optimization.
<beach> From simple interpreters to highly optimizing compilers.
<rnmhdn> do you know any CL implementation that does this?
<beach> I haven't looked, but I would think SBCL does.
sauvin_ is now known as Sauvin
<no-defun-allowed> I don't think it does that.
<beach> Oh, OK
<ggole> Value numbering would have much the same effect, I think
<no-defun-allowed> You could, barring side effects (and modifications to the CL package, for +), write a compiler macro as a kind of optimisation pass, but I still think you should prefer to write out (* 2 <that complex expression>) instead.
<prumnopytis> Sounds like something from a computer algebra system in this case
ebzzry has quit [Ping timeout: 240 seconds]
bilegeek has quit [Quit: Leaving]
<MichaelRaskin> Like Maxima… (which is written in Common Lisp, and can be interfaced with easily)
davisr_ has joined #lisp
ebzzry has joined #lisp
davisr__ has quit [Ping timeout: 240 seconds]
<pjb> markasoftware: I already told you to use defpackage yesterday!
__vlgvrs has quit [Remote host closed the connection]
__vlgvrs has joined #lisp
rnmhdn has quit [Quit: WeeChat 2.5]
<pjb> rnmhdn: In most cases (complex-expression) has side effects, so it cannot and must not be eliminated.
scymtym has quit [Ping timeout: 248 seconds]
davisr_ has quit [Ping timeout: 260 seconds]
zclark has quit [Ping timeout: 258 seconds]
prumnopytis has quit [Remote host closed the connection]
raghavgururajan has quit [Remote host closed the connection]
monokrom has quit [Remote host closed the connection]
random-nick has joined #lisp
Bourne has quit [Ping timeout: 258 seconds]
nika_ has quit [Read error: Connection reset by peer]
nika has joined #lisp
cosimone has joined #lisp
heisig has joined #lisp
orivej has joined #lisp
_whitelogger has joined #lisp
vidak` has joined #lisp
_whitelogger has joined #lisp
toorevitimirp has joined #lisp
ebzzry has quit [Ping timeout: 240 seconds]
jmercouris has joined #lisp
Bourne has joined #lisp
<jmercouris> guten morgen everyone!
<fe[nl]ix> Xach: talk to Doug about offline code indexing
<fe[nl]ix> although you might not like the solution the we use
heisig has quit [Quit: Leaving]
toorevitimirp has quit [Ping timeout: 248 seconds]
narimiran has quit [Ping timeout: 258 seconds]
orivej has quit [Ping timeout: 258 seconds]
trocado has joined #lisp
toorevitimirp has joined #lisp
fortitude has joined #lisp
fortitude has quit [Ping timeout: 265 seconds]
brown121407 has quit [Ping timeout: 268 seconds]
brown121407 has joined #lisp
brettgilio has joined #lisp
cosimone has quit [Quit: Terminated!]
clothespin has quit [Ping timeout: 265 seconds]
Kundry_Wag has joined #lisp
toorevitimirp has quit [Ping timeout: 258 seconds]
mathrick has quit [Ping timeout: 260 seconds]
Kundry_Wag has quit [Ping timeout: 260 seconds]
Bourne has quit [Read error: Connection reset by peer]
wxie has joined #lisp
gxt has joined #lisp
orivej has joined #lisp
trocado has quit [Ping timeout: 260 seconds]
FreeBirdLjj has joined #lisp
gxt has quit [Ping timeout: 240 seconds]
vidak` has quit [Read error: Connection reset by peer]
<Xach> fe[nl]ix: ok!
miklos1 has joined #lisp
brown121407 has quit [Ping timeout: 258 seconds]
Bourne has joined #lisp
brown121407 has joined #lisp
smokeink has quit [Read error: Connection reset by peer]
ebzzry has joined #lisp
fyrkrans has quit [Ping timeout: 260 seconds]
random-nick has quit [Ping timeout: 258 seconds]
fyrkrans has joined #lisp
Kundry_Wag has joined #lisp
miklos1 has quit [Remote host closed the connection]
dddddd has joined #lisp
ebrasca has quit [Remote host closed the connection]
trafaret1 has joined #lisp
random-nick has joined #lisp
wxie has quit [Ping timeout: 260 seconds]
EvW1 has joined #lisp
_whitelogger has joined #lisp
brettgilio has quit [Ping timeout: 240 seconds]
brettgilio has joined #lisp
jmercouris has quit [Ping timeout: 240 seconds]
scymtym has joined #lisp
brettgilio has quit [Ping timeout: 260 seconds]
brettgilio has joined #lisp
mathrick has joined #lisp
varjag has joined #lisp
sahara3 has joined #lisp
mathrick has quit [Ping timeout: 258 seconds]
<sahara3> hola buenos dias!!
<je4i> Guten Tag!
jmercouris has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
sahara3 has left #lisp [#lisp]
Kundry_Wag has quit []
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 268 seconds]
Lord_of_Life_ is now known as Lord_of_Life
orivej has quit [Ping timeout: 268 seconds]
whiteline has quit [Remote host closed the connection]
whiteline has joined #lisp
jmercouris has quit [Ping timeout: 258 seconds]
Duuqnd has quit [Quit: Leaving]
madage has quit [Remote host closed the connection]
madage has joined #lisp
EvW1 has quit [Ping timeout: 248 seconds]
pticochon has joined #lisp
Kundry_Wag has joined #lisp
misterwhatever has joined #lisp
misterwhatever has quit [Remote host closed the connection]
ckonstanski has joined #lisp
<ckonstanski> Is CLSQL still maintained? It looks like quicklisp hasn't seen an update since 2016. If not, is there another solution for connecting to postgresql that is under active development?
<p_l> ckonstanski: postgresql has good support in form of Postmodern library
<Xach> ckonstanski: postmodern is really good for postgres.
<ckonstanski> My immediate concern is that postgresql-12 wants to use SHA256 instead of MD5 for password encryption and CLSQL doesn't support it. The bigger picture is bitrot in general. Is postmodern an active project?
<Xach> ckonstanski: postmodern is active.
<ckonstanski> Neat!
<Xach> I don't know if it supports the new password scheme but it could be added
<ckonstanski> That's the crucial ingredient. Someone to answer feature requests. I'll try it.
shifty has joined #lisp
clothespin has joined #lisp
pnp has joined #lisp
<Xach> I am thinking of publishing my standalone SHA1/256/512 code as a library. ironclad does it, but it is part of a large suite of tools and it's hard to separate out smaller parts.
zaquest has quit [Remote host closed the connection]
cosimone has joined #lisp
<sindan> Is there any reason for the latest release of SBCL jumping straight to 2.0 from the very boring and normal-looking progression for years of version numbers up to 1.5.9?
<Xach> sindan: 20th anniversary
<sindan> ohh :)
<sindan> well then, happy anniversary
<Xach> very happy!
zaquest has joined #lisp
trafaret` has joined #lisp
raghavgururajan has joined #lisp
trafaret1 has quit [Ping timeout: 268 seconds]
jmercouris has joined #lisp
narimiran has joined #lisp
hiroaki has quit [Ping timeout: 258 seconds]
orivej has joined #lisp
sjl has quit [Quit: WeeChat 2.2-dev]
learning has joined #lisp
gxt has joined #lisp
Oladon has joined #lisp
EvW has joined #lisp
gxt has quit [Ping timeout: 240 seconds]
nekosagan has quit [Read error: Connection reset by peer]
hiroaki has joined #lisp
raghavgururajan has quit [Read error: Connection reset by peer]
gargaml has joined #lisp
raghavgururajan has joined #lisp
roliacole has joined #lisp
<roliacole> hi
<roliacole> how can i install clisp,sbcl from gnuemacs
jmercouris has quit [Ping timeout: 260 seconds]
<eeeeeta> how secure is ironclad?
<roliacole> ironclad is fine
<eeeeeta> awesome-cl says it's not really that secure at all, but I'm wondering whether anyone has more information
<eeeeeta> like, has it ever been audited or whatever
SaganMan has joined #lisp
<MichaelRaskin> I do not think think Ironclad is constant-time
<roliacole> what's wrong with using openssl ?
<roliacole> just use openssl
<MichaelRaskin> Heartbleed is very much related to OpenSSL being written in a memory unsafe language
<MichaelRaskin> But there is CL+SSL library that does FFI to OpenSSL
ebrasca has joined #lisp
orivej has quit [Ping timeout: 260 seconds]
<roliacole> MichaelRaskin: i have a doubt
<roliacole> i am getting started using clisp , how do i execute clisp file.cl inside emacs easily
orivej has joined #lisp
<_death> did you install quicklisp?
gxt has joined #lisp
anddam has joined #lisp
<anddam> howdy
<flip214> Xach: promoting "small" projects leads to NPM hell
<beach> Hello anddam.
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
shka_ has joined #lisp
ckonstanski has quit [Remote host closed the connection]
EvW has quit [Ping timeout: 245 seconds]
<roliacole> _death: no
<roliacole> I'd like to add a shortcut to clisp file command using emacs
<_death> roliacole: you can start by installing quicklisp, and using it to install slime (via quicklisp-slime-helper).. then you can have a read-eval-print loop in slime
<_death> roliacole: to load a file, you could (load "/path/to/file.cl") .. that doesn't require slime or quicklisp, and I suppose you could run clisp in an emacs shell buffer, but you should check out slime
<roliacole> repl gives the wrong output , for example format (+ 3 4 ) is right but (+3 4 ) is the wrong program.
orivej has quit [Ping timeout: 240 seconds]
<beach> Am I the only one who doesn't understand what roliacole's problem is?
<roliacole> ok how do i install quicklisp
<_death> roliacole: in Lisp "+3" is a valid symbol name
<beach> roliacole: Are you saying that you would like for (+3 4) to return 7?
<_death> roliacole: you can follow the instructions on the site
<roliacole> i don't know much lisp at this point as you see i have difficulty setting up lisp
<roliacole> which site exactly
amnesia` has joined #lisp
<_death> roliacole: do you know how to search the internet
<roliacole> yes
<_death> roliacole: that skill could come in handy, you should practice it
<roliacole> $ sbcl --eval '(ql:quickload :quicklisp-slime-helper)' --quit
<roliacole> but it is like repl
<beach> roliacole: What was your problem with (+3 4)?
<beach> roliacole: Like, where did you see it?
<roliacole> that shouldn't print
<beach> And are you saying that it did anyway?
<roliacole> i don't want it to print, as in actual programs we don't use that , as it's output is null
* beach is completely lost.
<beach> roliacole: I suspect you are confused.
Kundry_Wag has quit [Remote host closed the connection]
<beach> roliacole: No, (+3 4) is not a valid form, unless you happen to have an operator named +3.
<beach> So I am wondering where you saw it.
EvW has joined #lisp
<p_l> eeeeeta: Ironclad AFAIK implements the algorithm well, but a) it has limited set of algorithms b) it's not proofed against attacks, so bad for on-line use (no constant time operations, for example)
<pnp> roliacole, the space is used to split tokens
<boeg> Can anyone recommend some articles/books about handler errors/conditions in common lisp? I personally like "just" returning values, and I've the beyond exceptions in practical common lisp, but I still feel like I need a better idea of when to do what and how to and so on, so I was just thinking there might be a great article or chapter of a book or something on this somewhere
amnesia_ has joined #lisp
<boeg> handling*
<roliacole> i installed slime beach
<boeg> amnesia_: Thanks, I did actually also read that earlier today
<roliacole> it is far better than using portacle as i learnt something beach
<boeg> I felt like it explained how to do things, but not as much like a pattern or approach to use
<boeg> like should I use return values 80% of the times and conditions 20% or something like that. Like conditions only when it really makes sense because it needs something else return values can't
<amnesia_> boeg: ok
<amnesia_> the ansi common lisp explain this more deeply
<_death> boeg: you can read Pitman's papers, e.g. "Exceptional Situations in Lisp" or "Condition Handling in the Lisp Language Family".. http://www.nhplace.com/kent/Papers/index.html
<boeg> amnesia_: I'll check that out, haven't read it yet
<boeg> _death: thanks
cosimone has quit [Quit: Terminated!]
<amnesia_> go to handler erros
<roliacole> https://lisp-lang.org/learn/getting-started/ i just copied and pasted everything i still don't understand what i did
<boeg> amnesia_: thanks
cosimone has joined #lisp
* amnesia_
<roliacole> beach: if i don't have slime and quicklisp say- coming back to first principles then what will i do
<roliacole> how will i execute sbcl file or something like that
nullman has quit [Ping timeout: 265 seconds]
nullman has joined #lisp
<amnesia_> roliacole: frist your need to clone quicklisp
<roliacole> wat
ult has joined #lisp
<amnesia_> roliacole: you have quicklisp in your machine ?
<roliacole> jyes
<amnesia_> oh
<roliacole> i pasted everywthing from here https://lisp-lang.org/learn/getting-started/
<roliacole> beach: _death but we don't write code inside repl?
<amnesia_> so, whats the problem ?
<roliacole> we write code in a file
<amnesia_> are you need to run the code ?
<roliacole> of course
<roliacole> if repl i can't "save " the code
<roliacole> so naturally repl is useless
<amnesia_> so do sbcl --script /path/to/file.lisp
<_death> you can visit a (possibly new) lisp file in emacs, or use the slime scratch buffer, and evaluate forms using C-M-x.. you can load the file using C-c C-l RET
<roliacole> i know amnesia_ but i can't do that every time it is tiresome
<amnesia_> well, you can do sbcl and * (load "path/to/file.lisp")
<amnesia_> and you have the repl
dale has joined #lisp
<_death> you can compile and load a file using C-c C-k, etc. for more information you can check out the slime manual
<roliacole> how do i open slime scratch buffer
<roliacole> what is so superior about slime idk
khisanth_ has quit [Ping timeout: 258 seconds]
<_death> typicall you can use slime selector to switch to the scratch buffer https://common-lisp.net/project/slime/doc/html/slime_002dselector.html#slime_002dselector
<_death> of course you don't know.. did you expect to, in the few moments you spent on it?
Kundry_Wag has joined #lisp
pnp has quit [Remote host closed the connection]
ebzzry has quit [Ping timeout: 258 seconds]
<roliacole> does it also have autocompletion like python's notebooks
<jackdaniel> roliacole: even better, there is cl-jupyter, so you may use it with notebooks yourself
<roliacole> there is no way it like rival those notebooks - they are the most superior
<Xach> troliacole
* _death goes to read something
<roliacole> hey xach
khisanth_ has joined #lisp
<roliacole> i am not troll
clothespin has quit [Ping timeout: 246 seconds]
<Xach> roliacole: you do a good impersonation of one though.
<roliacole> but repl of slime doesn't have "cells" like notebooks
gxt has quit [Ping timeout: 240 seconds]
<Xach> the symptoms are declaring things that you have no understanding of or experience with bad, inferior, etc.
<Xach> now, these things may be bad, inferior, useless, etc. but the key factor is the clue-free declaration of such
<eeeeeta> <roliacole> so naturally repl is useless
* eeeeeta hands roliacole a toolkit containing copy, paste, and sb-ext:save-lisp-and-die
ebzzry has joined #lisp
<roliacole> Xach: i am upset lisp is being used nowhere
<roliacole> how many proper lisp users like CL,scheme are there in the world?
<jackdaniel> roliacole: please move it to #lispcafe (or nowhere), it is offtopic on this channel
<roliacole> Xach: join me on #lispcafe
<amnesia_> the most, i guess
torbo has joined #lisp
v88m has joined #lisp
v88m has quit [Client Quit]
v88m has joined #lisp
gareppa has joined #lisp
v88m has quit [Client Quit]
v88m has joined #lisp
bitmapper has joined #lisp
prumnopytis has joined #lisp
clothespin has joined #lisp
cosimone has quit [Quit: Quit.]
shifty has quit [Ping timeout: 265 seconds]
ggole has quit [Quit: Leaving]
brown121407 has quit [Ping timeout: 268 seconds]
<roliacole> Xach: sbcl CL or gambit/stalin scheme, which is more optimized
brown121408 has joined #lisp
<jackdaniel> roliacole: still offtopic, please move to the abovementioned place
amnesia` has left #lisp ["Killed buffer"]
rumbler31 has joined #lisp
gareppa has quit [Quit: Leaving]
<no-defun-allowed> "how many proper lisp users like CL,scheme are there in the world?" Probably at least two.
roliacole has quit [Read error: Connection reset by peer]
<jackdaniel> ditto
roliacole has joined #lisp
<no-defun-allowed> As for upper bounds, probably no more than seven billion-ish unless aliens are using Lisp, and of course they would.
<no-defun-allowed> But really, I'm not sure and that sounds hard to estimate.
<eeeeeta> jeez, you people, don't you know about the flying sphere with lisp aliens inside
<eeeeeta> as well as their entire fleet of lisp-powered alien ships >_<
learning has quit [Remote host closed the connection]
<eeeeeta> on a serious note, ITA Software is a pretty well-known CL user
<eeeeeta> there are more testimonials about the place on lispworks or lisp-lang if you look
<no-defun-allowed> I would say that there's about 1% and 10% the users as there are of Python (ignoring that one can be a Python and a Lisp hacker for a short period of time before one becomes a weenie), so 80 to 800 thousand-ish.
<jackdaniel> I mean it, please guys move this popoularity contest to #lispcafe, it is neither technical nor really related to the programming language itself
<jackdaniel> roliacole did listen to my request, so I see no reason to prolong it here
<eeeeeta> oh sorry jackdaniel, my bad
* eeeeeta shuts up
<no-defun-allowed> Right then. Sorry.
nika has quit []
<jackdaniel> thank you
EvW has quit [Ping timeout: 248 seconds]
Jeanne-Kamikaze has joined #lisp
sjl has joined #lisp
EvW1 has joined #lisp
orivej has joined #lisp
luna_is_here_ has joined #lisp
saravia has joined #lisp
raghavgururajan has quit [Read error: Connection reset by peer]
vlatkoB has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
Jeanne-Kamikaze has quit [Ping timeout: 268 seconds]
rumbler31 has quit [Remote host closed the connection]
gnufr33d0m has quit [Remote host closed the connection]
gnufr33d0m has joined #lisp
clothespin has quit [Ping timeout: 260 seconds]
brown121408 has quit [Read error: Connection reset by peer]
brown121407 has joined #lisp
rumbler31 has joined #lisp
luna_is_here_ has quit [Quit: Verlassend]
ebrasca has quit [Remote host closed the connection]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
gnufr33d0m has quit [Remote host closed the connection]
gnufr33d0m has joined #lisp
pfdietz57 has joined #lisp
varjag has quit [Ping timeout: 240 seconds]
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
bitmappe_ has joined #lisp
bitmapper has quit [Read error: Connection reset by peer]
sjl has quit [Quit: WeeChat 2.2-dev]
Kundry_Wag has quit [Ping timeout: 260 seconds]
nowhere_man has joined #lisp
gnufr33d0m has quit [Read error: Connection reset by peer]
rumbler31 has quit [Remote host closed the connection]
varjag has joined #lisp
freedom has joined #lisp
roliacole has quit [Ping timeout: 268 seconds]
X-Scale has quit [Ping timeout: 268 seconds]
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
roliacole has joined #lisp
rumbler31 has joined #lisp
brettgilio has quit [Ping timeout: 260 seconds]
<pjb> roliacole: CL implementations provide you with a REPL, which is a read eval PRINT loop, which is why when you type (+ 3 7), it prints the result 10.
<roliacole> i know
<pjb> roliacole: if you don't want it to print, then you must write your own REL: (defun rel () (loop (princ "> ") (finish-output) (eval (read)))) (rel)
<pjb> roliacole: you didn't seem to know, since you complained earlier that it printed…
trafaret` has quit [Ping timeout: 260 seconds]
<roliacole> i am learning emacs config+melpa
gravicappa has quit [Ping timeout: 265 seconds]
<roliacole> i have a simple doubt if you don't mind
<roliacole> how do i count how many characters screen wide is my window
kajo has joined #lisp
<roliacole> because upon maximize the lines fill only half the screen i wish to make the lines column bigger to fill the complete window
bitmappe_ has quit []
bitmapper has joined #lisp
varjag has quit [Read error: Connection reset by peer]
je4i has quit [Ping timeout: 264 seconds]
varjag has joined #lisp
X-Scale has joined #lisp
Kundry_Wag has joined #lisp
narimiran has quit [Ping timeout: 240 seconds]
minion has quit [Read error: Connection reset by peer]
specbot has quit [Remote host closed the connection]
specbot has joined #lisp
minion has joined #lisp
rotty has quit [Ping timeout: 268 seconds]
rotty has joined #lisp
brettgilio has joined #lisp
MichaelRaskin has left #lisp [#lisp]
rumbler31 has quit [Remote host closed the connection]
amnesia_ has quit [Quit: leaving]
Sauvin has quit [Ping timeout: 258 seconds]
bestinket has joined #lisp
roliacole has quit [Ping timeout: 268 seconds]
jonatack has quit [Ping timeout: 246 seconds]
jonatack has joined #lisp
anewuser has joined #lisp
greaser|q has quit [Changing host]
greaser|q has joined #lisp
greaser|q is now known as GreaseMonkey
Dibejzer has joined #lisp
Seteeri has joined #lisp
nostoi has joined #lisp
nostoi has quit [Quit: Verlassend.]
saravia has quit [Ping timeout: 260 seconds]
gargaml has quit [Quit: WeeChat 2.6]
Kundry_Wag has quit [Remote host closed the connection]
clothespin has joined #lisp
color-pencil has joined #lisp
color-pencil has left #lisp [#lisp]
trocado has joined #lisp
random-nick has quit [Ping timeout: 260 seconds]
saravia has joined #lisp
clothespin_ has joined #lisp
clothespin has quit [Ping timeout: 265 seconds]
clothespin__ has joined #lisp
Kundry_Wag has joined #lisp
clothespin_ has quit [Ping timeout: 240 seconds]
Kundry_Wag has quit [Ping timeout: 240 seconds]