jackdaniel 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.5.4, CMUCL 21b, ECL 16.1.3, CCL 1.11.5, ABCL 1.5.0
techquila has joined #lisp
techquila has quit [Client Quit]
<sahara3> :-D
<sahara3> DJ Marshmello
buffergn0me has joined #lisp
<sahara3> bye
sahara3 has left #lisp [#lisp]
davepdotorg has joined #lisp
malfort has joined #lisp
davepdotorg has quit [Ping timeout: 268 seconds]
clothespin_ has joined #lisp
clothespin has quit [Ping timeout: 240 seconds]
mathrick has joined #lisp
payphone` has joined #lisp
clothespin__ has joined #lisp
mathrick__ has quit [Ping timeout: 265 seconds]
clothespin_ has quit [Ping timeout: 268 seconds]
J_J_1 has quit [Quit: Leaving]
akoana has quit [Read error: Connection reset by peer]
mathrick has quit [Ping timeout: 265 seconds]
<LdBeth> do anyone have idea on what to do if you see "^M" in slime repl on windows
<LdBeth> I'm having this problem with CCL, CLisp works fine
<no-defun-allowed> Means the CR in CRLF isn't being handled as part of the newline separator somewhere.
<LdBeth> yes I know the wacky DOS EOL convention
<LdBeth> I suspect it's CCL doesn't handle that properly.
<pilne> I recently had to go back to windows for various reasons, and portacle has been a blessing so far
mathrick has joined #lisp
<pjb> I have this in my .ccl-init.lisp: https://pastebin.com/tNCT02Ph
<pjb> I mean ~/ccl-init.lisp
malfort_ has joined #lisp
malfort has quit [Ping timeout: 276 seconds]
<LdBeth> pjb: thank you
<LdBeth> I guess on Windows ~ is AppData/Roaming something
<pilne> usually seems to default to something like that
<oni-on-ion> %CurrentUser%\%WindowsLiveExperienceID%\
mathrick has quit [Ping timeout: 265 seconds]
synaps3 has joined #lisp
asarch has quit [Quit: Leaving]
adam0001 has joined #lisp
xkapastel has quit [Quit: Connection closed for inactivity]
random-nick has quit [Ping timeout: 268 seconds]
buffergn0me has quit [Ping timeout: 250 seconds]
clothespin has joined #lisp
synaps3 has quit [Quit: Leaving]
Lord_of_Life_ has joined #lisp
clothespin__ has quit [Ping timeout: 265 seconds]
Lord_of_Life has quit [Ping timeout: 265 seconds]
Lord_of_Life_ is now known as Lord_of_Life
ralt has quit [Quit: Connection closed for inactivity]
jxy has quit [Quit: Lost terminal]
t58 has quit [Quit: Leaving]
port1024 has quit [Quit: Leaving]
payphone` has quit [Quit: ERC (IRC client for Emacs 26.3)]
buffergn0me has joined #lisp
<sjl> In hindsight, this (for ... matching ...) iterate driver may have been overkill, but at least it'll help make advent of code input parsing less tedious https://hg.sr.ht/~sjl/cl-losh/browse/default/src/iterate.lisp#L890
bitmapper has quit [Ping timeout: 265 seconds]
<_death> sjl: last year I started writing utilities for AoC as well.. since I don't like to use regular expressions in code, back in 2018 I came up with this: https://gist.github.com/death/4ed89bf10404f5c71f1fb8f2a95a0f13
<_death> incidentally, "slhelper" stands for "(Santa|Satan)'s Little Helpers" .. regexes in names are fine :)
<LdBeth> most of parsing work in AoC can be done with split-sequence
phoe has quit [Ping timeout: 245 seconds]
<_death> indeed
smokeink has joined #lisp
Oladon has joined #lisp
<_death> btw I found another bug, this time in cffi-libffi.. (defcfun foo :string) will try to foreign-string-to-lisp the pointer to the string pointer instead of the string pointer itself... other types may also have this issue, but I fixed it for foreign-string-type at least
<LdBeth> I'm not familiar with C, but isn't string means a *char?
buffergn0me has quit [Ping timeout: 250 seconds]
<aeth> char*
* LdBeth GG
<aeth> afaik, a string is a char* that starts at the * and ends at the first NUL (0)
<aeth> this is obviously problematic for many reasons
<_death> LdBeth: yes, a C string is a pointer to char.. cffi type :string automatically converts between foreign and lisp strings
davepdotorg has joined #lisp
buffergn0me has joined #lisp
elfmacs has joined #lisp
<pjb> LdBeth: I use (merge-pathnames (make-pathname :directory '(:relative) :name "ccl-init" :type "lisp") (user-homedir-pathname)) so it works everywhere!
davepdotorg has quit [Ping timeout: 250 seconds]
<pjb> LdBeth: indeed, you're not familiar with C.
<pjb> LdBeth: char is not a character type, it's an integer type!!!
<LdBeth> Wat?
<pjb> LdBeth: a string is a vector of character. It's way more sophisticated than what C proposes.
<no-defun-allowed> '<char>' is just syntactic sugar for the integer with the same value as the character's codepoint.
akoana has joined #lisp
<LdBeth> I guess it could have different size from int
<LdBeth> So it’s not syntactic sugar in that way
<LdBeth> Also char[] and char * cannot be used interchangeably
buffergn0me has quit [Ping timeout: 250 seconds]
FreeBirdLjj has joined #lisp
X-Scale` has joined #lisp
X-Scale has quit [Ping timeout: 250 seconds]
X-Scale` is now known as X-Scale
FreeBirdLjj has quit [Ping timeout: 250 seconds]
malfort_ has quit [Ping timeout: 250 seconds]
lucasb has quit [Quit: Connection closed for inactivity]
oni-on-ion has quit [Remote host closed the connection]
oni-on-ion has joined #lisp
mathrick has joined #lisp
malfort_ has joined #lisp
orivej has quit [Ping timeout: 276 seconds]
PuercoPope has joined #lisp
EvW has quit [Ping timeout: 245 seconds]
megalography has left #lisp [#lisp]
jeosol has joined #lisp
clothespin_ has joined #lisp
ggole has joined #lisp
clothespin has quit [Ping timeout: 276 seconds]
buffergn0me has joined #lisp
buffergn0me has quit [Remote host closed the connection]
_whitelogger has joined #lisp
shifty has joined #lisp
anlsh has joined #lisp
smokeink has quit [Remote host closed the connection]
elfmacs has quit [Ping timeout: 252 seconds]
pjb has quit [Remote host closed the connection]
adam0001 has quit [Ping timeout: 260 seconds]
akoana has left #lisp ["Leaving"]
pjb has joined #lisp
akoana has joined #lisp
_whitelogger has joined #lisp
<White_Flame> is there some sort of asdf extension out there that lets you place dependencies inside the individual .lisp files instead of in the .asd?
Lycurgus has joined #lisp
<fe[nl]ix> White_Flame: no, that would be a bad idea
Bike has quit [Quit: Lost terminal]
enrio has joined #lisp
enrio has quit [Quit: Leaving]
PuercoPope has quit [Remote host closed the connection]
enrio has joined #lisp
akoana has left #lisp ["Leaving"]
rippa has joined #lisp
gravicappa has joined #lisp
anlsh has joined #lisp
<anlsh> When I do (ql:quickload :alexandria) I get the following error: The name "ALEXANDRIA.1.0.0" does not designate any package.
<anlsh> Any idea what's up?
gravicappa has quit [Ping timeout: 240 seconds]
vlatkoB has joined #lisp
<fiddlerwoaroof> White_Flame: doesn't package-inferred-system do something like that?
<fiddlerwoaroof> I have a hack I use occasionally: #.(progn (ql:quickload ...) nil)
<White_Flame> I mean inter-file dependencies, not inter-system
Lycurgus has quit [Quit: https://meansofproduction.biz Exit Quassel.]
_whitelogger has joined #lisp
sauvin has joined #lisp
* no-defun-allowed waits for fully inferred systems, where hypothetically any time an undefined variable or function is used, its definition is searched for and the file containing its definition is loaded
_whitelogger has joined #lisp
Kevslinger has quit [Quit: Connection closed for inactivity]
<beach> Good morning everyone!
enrioog has joined #lisp
dale has quit [Quit: My computer has gone to sleep]
enrio has quit [Ping timeout: 245 seconds]
davsebam1e has joined #lisp
Bourne has joined #lisp
davsebamse has quit [Ping timeout: 276 seconds]
kritixilithos has joined #lisp
vlatkoB_ has joined #lisp
vlatkoB has quit [Ping timeout: 268 seconds]
dddddd has quit [Ping timeout: 268 seconds]
Bourne has quit [Ping timeout: 276 seconds]
kritixilithos has quit [Quit: quit]
_whitelogger has joined #lisp
<reepca> weird question - is there a way to make a function binding special?
<beach> No.
v88m has joined #lisp
<reepca> good to know
<beach> You would have to do it yourself, like (unwind-protect ... (let ((old (fdefinition ...))) (setf (fdefinition ...) #'...) etc.
Bourne has joined #lisp
anlsh has quit [Remote host closed the connection]
<ggole> Make a regular special binding and funcall it?
<Shinmera> dynamically bound functions easily lead to spaghetti
<Shinmera> so going through the special binding to mark it up seems like a good idea.
<reepca> aye, just a little tedious to go around swapping out (read-byte ...) with (funcall *read-byte* ...) because I didn't read and memorize the full spec before I started writing
<reepca> (to clarify, full spec here means the thing I'm implementing, not the CL spec)
anlsh has joined #lisp
<Shinmera> also, it seems to me that you would very likely be better off with GFs than dynamically bound functions.
phoe has joined #lisp
<Shinmera> as in, define the generic function protocol, then pass around the object that implements it.
<anlsh> How do I get frame restarts working in sly/slime? Every time I press the "r" key I just get a message about the frame being compiled, and I'm not sure what to change to fix that
<reepca> does it work to have a generic function with the same name as an existing CL function?
<Shinmera> same name but different symbol, sure.
<Shinmera> same symbol, no.
Bourne has quit [Read error: Connection reset by peer]
brown121407 has quit [Ping timeout: 240 seconds]
brown121407 has joined #lisp
<reepca> in other words, it'd have to be in a different package?
<Shinmera> yes
<beach> anlsh: "working"? To invoke the restart, you just type its number.
<Shinmera> or click the label
<Shinmera> or press 'a' for abort, or 'c', for continue.
<beach> clhs 11.1.2.1.2
<specbot> Constraints on the COMMON-LISP Package for Conforming Programs: http://www.lispworks.com/reference/HyperSpec/Body/11_abab.htm
<beach> reepca: See that page for what you are allowed to do with standardized symbols.
rgherdt has joined #lisp
ebzzry has quit [Read error: Connection reset by peer]
wiselord has joined #lisp
_whitelogger has joined #lisp
<pjb> White_Flame: see: com.informatimago.tools.asdf-file
<pjb> reepca: (defvar *foo*) (defun foo (&rest args) (apply *foo* args)) (defun g () (foo 1 2 3)) (let ((*foo* (lambda (&rest args) (reduce '+ args)))) (g)) #| --> 6 |#
<ck_> Shinmera: you're running irclog.tymoon.eu, is that right? Are you open to a small feature request?
<Shinmera> Sure
<ck_> I'd sometimes like to switch channels at or around the timestamp I'm currently looking at
<White_Flame> pjb: found your page for it, but I'm not sure how it applies
<Shinmera> ck_: And I assume just editing the URL is not convenient enough?
<ck_> I know it's as easy as editing the url, so it's maybe not even ..
<Shinmera> hah
<pjb> White_Flame: the driver is tools/make-depends.sh
<pjb> White_Flame: it has probably bit-rotten a little, since I don't use it anymore. Putting dependencies in asd files is better.
<Shinmera> I could maybe turn the channel header into an option list instead to do the switching. I'll think about it.
<ck_> well, the first thing I looked for was a time input field at the channel view, to navigate to a point in history that way. I'll just add a bookmarklet to get there quicker
<pjb> White_Flame: but the principle applies: scan the files to build the dependencies yourself, and generate an asd file.
<ck_> thanks for entertaining the suggestion in any case!
<Shinmera> ck_: The software running is open source too, so if you have time you could have a go at fixing it yourself. https://github.com/shirakumo/chatlog
<ck_> Shinmera: oh, that's nice, thank you. I'll send a pull request your way soon then.
<Shinmera> Time input and channel switch would be nice to have, yes.
<ck_> consider it done
<ck_> just don't consider it done .. soon ;)
<Shinmera> Time input did exist in a previous version, but it became too cluttered, especially for mobile, so I removed it in the streamlining process.
<Shinmera> Sure.
grabarz has joined #lisp
wiselord has quit [Read error: Connection reset by peer]
wiselord has joined #lisp
malfort_ has quit [Ping timeout: 276 seconds]
grabarz has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
random-nick has joined #lisp
lucasb has joined #lisp
wxie has joined #lisp
orivej has joined #lisp
hiroaki has quit [Ping timeout: 276 seconds]
varjag has joined #lisp
wxie has quit [Ping timeout: 276 seconds]
jonatack has quit [Ping timeout: 250 seconds]
varjag has quit [Ping timeout: 276 seconds]
Guest75462 has quit [Read error: Connection reset by peer]
Guest75462 has joined #lisp
nika has joined #lisp
FreeBirdLjj has joined #lisp
rgherdt has quit [Remote host closed the connection]
rgherdt has joined #lisp
entel has joined #lisp
nirved has quit [Ping timeout: 246 seconds]
<boeg> So I'm trying to figure out how systems and packages works, and I've created a package.lisp now and a *name*.asd. Now, I normally just use sly in emacs to run my common lisp and manually use quickload to load libraries, but now I have defined a dependency in the asdf file, so my question is, how do I use this in sly so it takes care of loading things defined with asdf?
nirved has joined #lisp
<pjb> boeg: systems and packages are orthogonal.
<boeg> pjb: right
<pjb> boeg: systems define a set of files, and their dependencies, so that asdf can compile and load them in the right order.
<pjb> boeg: those files may contain package definition forms, 0, 1 or more.
<boeg> yes
<pjb> boeg: those files may contain in-package forms, so that their symbols are interned in those packages.
<boeg> So package.lisp contains defpackage and then in a another file i have an in-package call for the package defined in package.lisp
<pjb> boeg: this may be packages defined in a file of the system, or not. You could (defun cl-user::foo () 'foo) thus defining a function named by a symbol interned in the cl-user package, for example.
<boeg> when i then compile and load in sly, it says it doesn't designate any package
<pjb> boeg: so if you want to define your own packages, and put them in a package.lisp file, this file needs to be loaded before the other files are compiled or loaded, so their in-package forms will find the packages you defined in the package.lisp file.
<boeg> ah
<pjb> So for each file, you will have a dependency such as: (:file "foo" :depends-on ("package" …))
<boeg> that worked
<boeg> yes, i have that and it works now
<boeg> next problem is what about my dependency on "split-sequence"?
<pjb> boeg: remember, asd files are just like Makefiles, they define dependencies between your files (and also with other systems).
<boeg> I have defined it in my asd file
<pjb> boeg: this is a system dependency. You define it with :depends-on in the defsystem form.
<boeg> yes, i have that i believe in my asd file
<boeg> do i just load the asd file manually in sly too?
<pjb> Once this dependency is established, your files can access directly anything that is defined by those systems, since they will have been loaded before the current system.
<pjb> boeg: if you make your asd systema vailable to quicklisp (eg. putting them or a symlink in ~/quicklisp/local-projects/ ) then you can just use quicklisp for your system like for the others.
wxie has joined #lisp
<pjb> The advantage of using quicklisp, is that if you're missing a dependent system, quicklisp will download and install it automatically.
<boeg> oh, so I make a symlink in ~/quicklisp/local-projects/ to my .asd file that has a dependency on split-sequence
<pjb> to the directory containing your .asd file.
<boeg> and then i manually in sly load the .asd file, then package.lisp and then i rock?
<boeg> ah, the directory, gotcha
<pjb> then you just use (ql:quickload :your-system).
<boeg> oh
<boeg> alright
<pjb> No need to loald the .asd file directly or any other file. quickload will do everything.
<boeg> let me give it a try
<boeg> pjb: does it matter how deep the .asd file is relative to the symlink? Could I for example symlink to ~/projects where the .asd file is in ~/projects/../*.asd ?
<pjb> boeg: no, you can have subdirectories in local-projects.
<boeg> alright, thanks
<pjb> in some cases, quicklisp doesn't discover them immediately. You can force it with (ql:register-local-projects)
papachan has joined #lisp
<boeg> alright, it seems to work this far
nika has quit []
<boeg> hmm, so how do I call a function :D
<boeg> I load my system, seems to be fine, then I load a file I'm working on and call a function just like (my-function) which usually works but now it doesn't
<boeg> says common-lisp-user::day06 is undefined
<boeg> I have probably set things up wrongly
<pjb> You must use the name of the function, which is a symbol interned in some package. You need to know this package.
<pjb> If you have a in-package form before the form where the name of the function is interned, then it's interned in that package.
<pjb> not in cl-user.
<boeg> so the package is named ... well i have (in-package :aoc2019.day06) at the top, and function is called day06
<pjb> (aoc2019.day06::day06)
<boeg> ah!
<pjb> perhaps you exported "DAY06" from the package named "AOC2019.DAY06", in which case you can use: (aoc2019.day06:day06) or (use-package :aoc2019.day06) and (day06)
<boeg> ah, yes, makes sense
<boeg> thanks
<pjb> For example, you could define a asd system aoc2019 dependent on all the aoc systems, with a aoc2019 package that would use all the aoc2019.day?? packages, so that (in-package :aoc2019) you could call directly all the (day01) .. (day31) functions.
<boeg> something is weird though, if I remove the "in-package" and do as I use to, my function gives one result and if I go about it with asdf and so on, call it with (aoc2019.day06::day06) it gives a completely other result
<pjb> boeg: if you're lost you can use (let ((*package* (find-package "KEYWORD"))) (apropos "day")) to find what package the day symbols are interned in.
<boeg> maybe thats a good setup yes
<pjb> boeg: your functions may depend on the run-time package if they use READ or INTERN etc.
<boeg> i don't directly use those no
<pjb> boeg: it's not a good idea in that case to let the run-time package up to the user. You would have to bind the *package* at run-time.
<boeg> I'm just gonna debug, 2 sec
<pjb> You may also depend on other variables such as *print-…* or *read-…*; you can get a specific setting with (with-standard-io-syntax …) or otherwise code to avoid depending on them, or set them to specific values.
<pjb> For example, (setf *read-base* 8.) or (setf *read-base* 16.) could break a lot of program using numeric input…
<boeg> but I don't understand ... How are are the functions loaded differently depending on if I use asdf or just manually load my .lisp file?
<pjb> If your specifications specifies base ten, then your program should contain a (let ((*read-base* 10.)) … (read) …)
<boeg> It's not the input - that's the same in both cases, so it must be something else
clothespin_ has quit [Ping timeout: 276 seconds]
shifty has quit [Ping timeout: 252 seconds]
<boeg> ah wait, I actually do use (intern)
<pjb> boeg: they're not loaded differently, they're loaded with load, in the current *package* and *readtable* by default. Perhaps asdf sets the current *package* to something specific different than your current *package* in the REPL, but it's up to your files to contain in-package forms to specify which *package* must be used to intern the symbols in your sources.
jonatack has joined #lisp
<pjb> You can use the second parameter: (intern name "MY-RUNTIME-PACKAGE")
<pjb> For user input, you can (delete-package "MY-RUNTIME-PACKAGE") (make-package "MY-RUNTIME-PACKAGE" :use '()) at the start of the program to clean things up.
<boeg> and "MY-RUNTIME-PACKAGE" should be "AOC2019.DAY6" ?
<pjb> perhaps.
<pjb> It depends what you are reading.
<boeg> right
<pjb> It may be a good idea to have different packages for the program and for user's symbols.
<boeg> give me a second, have to see if i understand :P
<pjb> Where is this aoc 2019?
<pjb> got it.
<pjb> you could use a temporary package named AOC2019.DAY6.PLANETS-XXX to read the planet names.
<pjb> well to INTERN the planet names.
<boeg> but
<boeg> if I just wanted to have intern use the current aoc2019.day6 package, i should just give the second argument "AOC2019.day6" ?
<pjb> alternatively, since you need to intern the planet names only for EQ hash-tables, etc, you could just use make-symbol instead of intern.
<boeg> as in ... make the symbol available to the current package?
<pjb> Ie. not interning the planet names in any package.
<pjb> planet names are not program identifiers. They don't belong to the package where you intern your program symbols.
<boeg> hmm ok
<boeg> well it does make sense
<boeg> I don't actually need to use intern
<pjb> Well, if you use make-symbol you will have to unify them yourself, so better use a temporary package for the planet names.
scymtym has quit [Ping timeout: 265 seconds]
<boeg> it was just a quick way to make a case statement where I test on a string work
<boeg> So I just intern't the strings
<boeg> just four different strings, so it wasn't gonna bloat the "symbol registry" but yeah, probably a bad decision
<pjb> You will have to intern them in a equal or equalp hash-table to find them again (there are several occurences of a single planet name).
<pjb> boeg: who knows if they don't have a test file with 100,000 planet names?
<pjb> or more.
<boeg> yeah
<boeg> i'm rewriting it to get rid of intern now
<pjb> create a hash-table, setf gethash the strings, delete the hash-table, vs create a package, intern the string, deletel the package…
<pjb> The only thing is that you want to generate a unique package name in case your program is run in parallel in different threads.
<kmeow> what's the right way to export a struct from a package? I'm missing the slot symbols for its constructor
<boeg> pjb: yeah i see the wrongs of my doing :D
<pjb> (let ((*planet-package* (make-package (make-unique-package-name "AOC2019.DAY06.PLANETS-") :use '()))) (unwind-protect (do-something) (delete-package *planet-package*)))
<pjb> Of course, to ensure thread safety a lock would be needed while generating the unique name.
<pjb> in the case of mkupack, it's an interactive function, so we assume the user doesn't call it from threads.
<boeg> pjb: well, actually, it wasn't that complicated
<pjb> ok
<boeg> pjb: I had just made a stupid use-case of intern
<boeg> I could simplify the code now that I understand objects better, get it with `elt` and use case to match on it
<boeg> instead of creatings symbols and matching on them
<boeg> it works now
<boeg> thank you for explaining things to me :)
<pjb> ;-)
<boeg> well wtf
<boeg> now I tried to use use-package
<boeg> If I do (aoc2019.day6::day6) it works, if I do (day6) it doesn't
<boeg> gives the wrong input from befire
<boeg> before*
<pjb> use-package is for compilation-time (or the REPL). not for run-time. For run-time, you would just bind *package* (let ((*package* my-runtime-package)) (read))
lavaflow has quit [Ping timeout: 246 seconds]
<pjb> or (intern name my-runtime-package)
<pjb> perhaps you have tqo day6
<pjb> (apropos "day6")
<pjb> s/q/w/
<pjb> bbl
<boeg> bye
<_death> kmeow: you cannot export a struct from a package.. all you can do is export symbols, so export make-struct, struct-foo, struct-bar, etc.
<kmeow> Ohhh
<kmeow> how would you export the symbols used with a struct constructor, in particular?
<kmeow> for something like (defstruct astruct a b c) I've been using (make-astruct :a val1 :b val2 :c val3)
<_death> those are usually keyword symbols (i.e. symbols in the keyword package).. symbols in the keyword package are automatically exported, so they can use them from anywhere (i.e. they are global)
<_death> :a is a shortcut for keyword:a
<kmeow> sbcl is giving me warnings like " :STATE is not a known argument keyword."
<_death> well, astruct has no state slot
<kmeow> that was just an example
<_death> if your struct has a state slot, the default constructor function will take a :state keyword argument
<kmeow> yeah
<kmeow> which sbcl will do for it in the same file without complaint
<kmeow> god, I must have had the keyword in the wrong set of parens
<kmeow> ty
krisfris has joined #lisp
Jachy has quit [Quit: killed]
djeis[m] has quit [Quit: killed]
EuAndreh[m] has quit [Quit: killed]
no-defun-allowed has quit [Quit: killed]
akanouras has quit [Quit: killed]
shaakyamuni[m] has quit [Quit: killed]
eriix[m] has quit [Quit: killed]
LdBeth has quit [Quit: killed]
katco has quit [Quit: killed]
nonlinear[m] has quit [Quit: killed]
malaclyps[m] has quit [Quit: killed]
keep-learning[m] has quit [Quit: killed]
FreeBirdLjj has quit [Remote host closed the connection]
rgherdt has quit [Remote host closed the connection]
wxie1 has joined #lisp
scymtym has joined #lisp
wxie has quit [Ping timeout: 265 seconds]
wxie1 is now known as wxie
cosimone has joined #lisp
cosimone has quit [Client Quit]
brown121407 has quit [Read error: Connection reset by peer]
__vlgvrs has joined #lisp
cosimone has joined #lisp
brown121408 has joined #lisp
_paul0 has quit [Ping timeout: 276 seconds]
wxie has quit [Ping timeout: 250 seconds]
Bike has joined #lisp
rgherdt has joined #lisp
FreeBirdLjj has joined #lisp
cosimone has quit [Quit: Terminated!]
krisfris has quit [Ping timeout: 268 seconds]
orivej has quit [Ping timeout: 250 seconds]
zaquest has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
brown121408 has quit [Ping timeout: 252 seconds]
brown121407 has joined #lisp
v88m has quit [Read error: Connection reset by peer]
v88m has joined #lisp
FreeBirdLjj has joined #lisp
v88m has quit [Read error: Connection reset by peer]
v88m has joined #lisp
nonlinear[m] has joined #lisp
EuAndreh[m] has joined #lisp
Jachy has joined #lisp
djeis[m] has joined #lisp
Gnuxie[m] has joined #lisp
malaclyps[m] has joined #lisp
eriix[m] has joined #lisp
keep-learning[m] has joined #lisp
katco has joined #lisp
akanouras has joined #lisp
dtw has joined #lisp
no-defun-allowed has joined #lisp
shaakyamuni[m] has joined #lisp
LdBeth has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
EvW has joined #lisp
FreeBirdLjj has joined #lisp
vaporatorius has quit [Ping timeout: 268 seconds]
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 240 seconds]
Lord_of_Life_ is now known as Lord_of_Life
FreeBirdLjj has quit [Ping timeout: 276 seconds]
krisfris has joined #lisp
kritixilithos has joined #lisp
patlv_ has joined #lisp
Kevslinger has joined #lisp
<galdor> is https://github.com/3b/package-local-nicknames/blob/master/docs.org the last version available for the local nickname spec? it has not been touched for 9 years and error types are marked as TODO
<jackdaniel> galdor: see sbcl documentation if you want something what sustained the test of implementing it
<Shinmera> There's also a test suite in the trivial-package-local-nicknames repo.
<galdor> so the spec is dead :/
<jackdaniel> qutie a statement
<galdor> if implementations do their thing and the spec isn't maintained, then yes the spec is dead
<galdor> I'm just trying to get a feel of the state of CL in 2019 to see if it makes sense for me to continue investing time and energy in it for my projects
<galdor> it's quite sad
<jackdaniel> |3b|: could you copy relevant parts of sbcl documentation to your repo to make galdor satisfied (alternatively less sorrowful)?
<galdor> I appreciate the gesture, I can read the sbcl documentation :)
<galdor> it's not the problem
<Shinmera> then what is
<jackdaniel> I might have been a little ironic here; needless to say I don't agree with your judgement of "CL state"
<galdor> from what I understand, ownership of the CL standard is complicated, which pretty much guarantees that there will never be a new version
<Shinmera> ok, so?
__vlgvrs has quit [Ping timeout: 246 seconds]
FreeBirdLjj has joined #lisp
jonatack has quit [Ping timeout: 268 seconds]
<galdor> this is disappointing, but could be worked around if there was a way to build some kind of consensus around update documents which will be adopted by major implementations
<MichaelRaskin> I think, say, MOP work went without needing it be in _CL_ standard
<galdor> something such as SRFI for Scheme
<jackdaniel> local package nicknames are adopted by major implementations and they all follow what is documented in sbcl manual
<beach> galdor: ANSI owns the standard. Not complicated at all.
<jackdaniel> mop is another example
* jackdaniel drops from this discussion, santa has came!
<beach> galdor: People use languages without a standard every day.
<Shinmera> galdor: People have done this, and nothing has come of it.
<galdor> it would be nice if local nicknames where based on documents and not on an implementation
<galdor> I understand why it does not happen
<Shinmera> then write that document.
<Shinmera> make it happen.
<galdor> does not mean I have to like it
<galdor> I was thinking about it
<MichaelRaskin> Given that other implementations took SBCL _document_
patlv_ has quit [Ping timeout: 265 seconds]
<galdor> but to be honest, when I see threads such as https://github.com/edicl/cl-ppcre/pull/30 I have trouble finding any kind of motivation
<galdor> years old issues nobody cares about, abandonned library, etc.
<galdor> sorry I'm just in a shitty mood today
FreeBirdLjj has quit [Ping timeout: 250 seconds]
<_death> this is not an issue with cl-ppcre, but with asdf
patlv_ has joined #lisp
<Shinmera> oh boy here we go
* ck_ buckles his seatbelt
<galdor> is asdf still maintained?
<galdor> I'd volunteer for a patch to ASDF to remove the warning (I really don't like how complex ASDF has become, but afaik there aren't credible alternatives, a bit like CFFI)
<galdor> and could your patch be merged to the official sbcl repository?
<_death> it's more problematic than that.. if a patch is to be made, then it should be made in the asdf repository and vendors should then take it from there.. but asdf is not something vendors care to update, for good reasons
EvW has quit [Ping timeout: 250 seconds]
<scymtym> galdor: asdf is still maintained. primarily by rpg but with help from fare as far as i know
<_death> it reminds me of https://adeht.org/usenet-gems/sysdef-spec.txt .. there should be a spec and vendors should be free to implement it themselves or use some existing implementation
<Shinmera> Either that or the build system should be entirely separate.
<galdor> apparently the primary repository is still github.com/fare/asdf
<galdor> it feels to me lots of people agree this warning is annoying and useless, but it seems no one has the authority to fix it
<scymtym> galdor: i think https://gitlab.common-lisp.net/asdf/asdf is the primary one
<Bike> judging by the thread, fare and rpg don't agree
<galdor> I proposed a way to muffle the warning, but it does not seem anyone cares
<galdor> I'm no blaming anyone, it just seems the CL ecosystem is really fragmented
ralt has joined #lisp
<Bike> well this is a bikeshed kind of issue. perfect to make people angry
<Bike> i don't think it's quite the same as a lack of coherent standards for extensions
<Bike> (not that that isn't also an issue)
<galdor> i'd say both issues are linked to the lack of people in the CL community, there aren't just enough of us
<Bike> yeah maybe
<ck_> the other end of the spectrum isn't a cakewalk either, though
<galdor> oh I know I'm using Go at $DAYJOB
<Shinmera> galdor: there's also just no "CL community"
<galdor> oh call it the set of people using CL, no need to fight over semantic
<Bike> i guess i could submit the SBCL manual section about package local nicknames as a CDR or whatever
<ralt> what's the issue? just got there
papachan has quit [Ping timeout: 250 seconds]
<ralt> or the issues, I guess
ArthurStrong has joined #lisp
<galdor> does someone knows why CDR docs never took off?
<galdor> I mean SRFI seems to be thriving in the scheme community
<Shinmera> because people just saying "you should do this" is not enough incentive for implementations to actually put in the work.
<Shinmera> the only reason the standard ever happened was because the implementors wanted to collaborate.
enrioog has quit [Read error: Connection reset by peer]
<galdor> it's kind of my point
<galdor> I could try to write some spec, but it's not the point
<galdor> I have a trivial open issue open for CCL for a long time, no one cares
enrioog has joined #lisp
<Shinmera> if you want something done, do it yourself (or pay someone to do it)
<Bike> phoe's been working on ccl stuff lately, maybe there can be some motion.
<galdor> sometimes I wonder if having a mailing list would help
<galdor> to coordinate this kind of thing
cosimone has joined #lisp
patlv_ has quit [Ping timeout: 268 seconds]
brown121407 has quit [Read error: Connection reset by peer]
Dibejzer has joined #lisp
patlv_ has joined #lisp
brown121407 has joined #lisp
<Shinmera> All the coordination necessary is here: https://shinmera.github.io/portability/
<Shinmera> Just requires someone to take the time to go and actually write the code.
papachan has joined #lisp
cosimone has quit [Remote host closed the connection]
<Bike> wow, ccl has everything but sequences, huh?
cosimone has joined #lisp
<Shinmera> phoe said he might consider tackling sequences once my trivial package has a test suite
<Shinmera> Clasp is also looking really good considering how young it is :)
<Bike> yes, i am great, how nice of you to notice
<Shinmera> I think heisig is also working on sequences for sicl
<Bike> i've been talking about that with beach, too
<Bike> ...i should maybe coordinate with heisig a bit.
<Shinmera> I think having stuff like UTF-8 strings using sequences is really exciting.
<Shinmera> Thinking around that kinda stuff, I wonder how many implementations offer hash tables with custom tests.
<Bike> unfortunately they don't work with string= or anything
<Shinmera> Yeah. Still really cool to have it at all.
<Bike> oh, that's not in your portability thing. wasn't there a library for that? let me see
<Shinmera> I only included what I could think of, and the little some people reminded me of.
<Bike> there is a CDR but no library i can see
<Shinmera> If there is something the page is missing do let me know.
<Shinmera> Ah.
<Bike> sbcl supports an extension for this, no idea if it matches the CDR, dunno about other implementations
<Bike> clasp doesn't ;(
<Shinmera> yet :)
<Bike> yet.
<Bike> looks like ccl supports it with a different interface
vinodh071219 has joined #lisp
<Bike> hash tables might be kind of weird portability-library-wise, since there's this extension and there's the weakness extension
<Shinmera> weakness is handled by trivial garbage, but yeah, combining the two would produce overlap.
<Shinmera> or rather, uh, the absence of overlap?
<Bike> yeah that's what i mean. trivial garbage has make-weak-hash-table, which probably doesn't support custom hashing
<Bike> maybe it does if it applies cl:make-hash-table with the original arguments...
<Bike> could work, could work. sorta
FreeBirdLjj has joined #lisp
oni-on-ion has quit [Read error: Connection reset by peer]
oni-on-ion has joined #lisp
patlv_ has quit [Ping timeout: 265 seconds]
vinodh071219 has quit [Client Quit]
pilne has quit [Quit: Copywight 2016 Elmer Fudd. All wights wesewved.]
pilne has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
pilne has quit [Client Quit]
pilne has joined #lisp
Dibejzer has quit [Quit: Leaving]
oni-on-ion has quit [Ping timeout: 250 seconds]
paul0 has joined #lisp
theBlackDragon has quit [Ping timeout: 276 seconds]
vms14 has joined #lisp
pilne has quit [Quit: ASCII a stupid question, get a stupid ANSI!]
pilne has joined #lisp
Inline has quit [Quit: Leaving]
Inline has joined #lisp
<MichaelRaskin> Shinmera: this table is not all the coordination necessary
<MichaelRaskin> hu.dwim.walker rots, and it's because package names and layout change (apparently without any change that would be visible in the — definitely nice and useful — table you keep)
FreeBirdLjj has quit [Remote host closed the connection]
brown121407 has quit [Ping timeout: 240 seconds]
FreeBirdLjj has joined #lisp
<Shinmera> I was being hyperbolic anyway
<Shinmera> If you notice a discrepancy, by all means send a patch or let me know what needs changing.
<Shinmera> The site was designed to be very easy to update. https://github.com/Shinmera/portability/blob/master/data.lisp
brown121408 has joined #lisp
gareppa has joined #lisp
<MichaelRaskin> I _think_ that the changes breaking the walker did not take anything away, so I don't have any changes in terms of the table. Anyway, I gave up and wrote Agnostic-Lizard.
<MichaelRaskin> But my point is that code existing is not the only thing to go, coordination is more for catching up with JavaScript in terms of feature probing, not for pressuring people into writing and debugging code they don't care about
gareppa has quit [Remote host closed the connection]
FreeBirdLjj has quit [Ping timeout: 245 seconds]
keep-learning[m] has left #lisp ["Kicked by @appservice-irc:matrix.org : User has been idle for 30+ days."]
oni-on-ion has joined #lisp
wiselord has quit [Read error: Connection reset by peer]
wiselord has joined #lisp
keep_learning has quit [Quit: Ping timeout (120 seconds)]
papachan has quit [Quit: Leaving]
FreeBirdLjj has joined #lisp
X-Scale has quit [Ping timeout: 240 seconds]
FreeBirdLjj has quit [Ping timeout: 246 seconds]
X-Scale` has joined #lisp
X-Scale` is now known as X-Scale
<oni-on-ion> question on portability of CL.
ebzzry has joined #lisp
<oni-on-ion> for haskell standard, let's say Haskell '98 or Prime, most use GHC as the crazy-advanced hyper-optimizing supercompiler. this is a bit of a lock-in to implementation, aside from some outliers whom still are based on GHC
<oni-on-ion> now for CL, what is the usefulness of adhering to standard, if most cases are using SBCL ?
dddddd has joined #lisp
<beach> If you are using only SBCL and you don't care about other implementations, and you believe SBCL will be around for some time, then you do what you wnat.
<beach> want.
<oni-on-ion> and to add a side question, is anyone using CL mainly for portability ?
<oni-on-ion> thats true
<pjb> oni-on-ion: none. But then, go to #sbcl.
<pjb> oni-on-ion: however, there are problems with monoculture.
<oni-on-ion> nah #sbcl is mostly about compiler internals afaik. not quite that learned yet
<beach> oni-on-ion: There are platforms on which SBCL does not exist.
<oni-on-ion> pjb, because i am thinking, emacs lisp is surely the most "portable" kind of lisp. i dont think anyone is choosing CL specifically to be portable. long-lasting (stability) strength of CL is not considered however
<pjb> oni-on-ion: If you write conforming CL code, you get de-jure portability: you can run on all conforming CL implementations!
<beach> oni-on-ion: I believe Android is one.
<oni-on-ion> beach, yeah, just ECL still so far there
<_death> oni-on-ion: most, but not all.. and even if SBCL was the only implementation around, the standard keeps interfaces stable
<oni-on-ion> pjb, de-jure?
<pjb> oni-on-ion: CLHS
<beach> oni-on-ion: Type "define de jure" to Google.
varjag has joined #lisp
<oni-on-ion> oh! cool =) i was thinking "de jour" as french (like soup de jour)
bendersteed has quit [Remote host closed the connection]
enrioog has quit [Ping timeout: 252 seconds]
Jeanne-Kamikaze has joined #lisp
<_death> many standards end up being de jour
grewal__ has quit [Ping timeout: 240 seconds]
<_death> (or, du jour)
grewal has quit [Ping timeout: 252 seconds]
grewal has joined #lisp
grewal_ has joined #lisp
<Shinmera> oni-on-ion: I spend most of my time writing libraries. I want those to be useful for as many people as possible, so in order to account for as many use-cases as possible, I care about them being portable.
refpga has joined #lisp
<Shinmera> beach: SBCL runs on android, just not in a convenient way to be useful for writing Android apps.
<beach> Ah, OK. Thanks.
<oni-on-ion> Shinmera, ah yeah =) my short-sighted worry is nothing changes under me, so i can work on code base until i die. like say haskell or ocaml or web code wont work after a few months
<beach> #lisp seems to be the channel of extremes. One minute we have an opinion insisting on an update to the standard for package-local nicknames. The next minute we have an opinion questioning the usefulness of the standard.
<oni-on-ion> to be clear, to me the CL standard is the most useful of all standards, in programming
<oni-on-ion> but i was curious how much the portability factor across implementations is relied upon -- Shinmera makes a good point. i wasn't thinking about apis/libraries, just as personal/proprietary code base substrate
vaporatorius has joined #lisp
FreeBirdLjj has joined #lisp
port1024 has joined #lisp
<MichaelRaskin> With personal code, you sometimes can use the differences in what different implementations complain about to clean up some of the corner cases
refpga has quit [Read error: Connection reset by peer]
<oni-on-ion> true; ive seen some doing this. but i've also seen some giving up on other impl's and sticking with one after giving up supporting the rest (im looking at you aeth =)
gravicappa has joined #lisp
ralt has quit [Quit: Connection closed for inactivity]
ebzzry has quit [Ping timeout: 240 seconds]
jason_m has joined #lisp
FreeBirdLjj has quit [Ping timeout: 250 seconds]
icov0x29a has joined #lisp
dale has joined #lisp
vivit has joined #lisp
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
grabarz has joined #lisp
<vivit> When I attempt to quickload CLSQL-SQLITE3, I get the following error: 'Component CLSQL-UFFI-SYSTEM::UFFI does not match version 2.0, required by #<SYSTEM "clsql-uffi">'
<vivit> The only information I can find online about this specific error seems to be one where the user apparently was having problems because he was using CLisp despite CLSQL not fully supporting CLisp, but I'm using SBCL
<vivit> What should I do here? I'm completely stumped
scymtym has quit [Ping timeout: 250 seconds]
ljavorsk has joined #lisp
jonatack has joined #lisp
<kmeow> is that the sqlite package?
ljavorsk has quit [Ping timeout: 250 seconds]
enrio has joined #lisp
<vivit> Is what the sqlite package?
<vivit> CLSQL-SQLITE?
<vivit> s/E/E3/
orivej has joined #lisp
<vivit> It's the asdf system for sqlite version 3
vms14 has quit [Remote host closed the connection]
<kmeow> I get the same error when I try to (ql:quickload "clsql-sqlite")
<kmeow> (ql:quickload "sqlite") completes without error, though idk if those are at all related
<jackdaniel> kmeow: before clsql load cffi
<jackdaniel> then you will have cffi-uffi-compat loaded instead of long deprecated uffi
stepnem_ is now known as stepnem
grabarz has quit [Quit: Textual IRC Client: www.textualapp.com]
<vivit> Tried that; still get the same error
<reepca> The :from-end keyword arguments in the sequence functions... I thought I had a good intuitive understanding of what they did ("start searching from the end"), but now I'm reading the hyperspec entry of POSITION and apparently my understanding was backwards?
<reepca> "The position returned is the index within sequence of the leftmost (if from-end is true) or of the rightmost (if from-end is false) element that satisfies the test"
<reepca> but the first example contradicts that, because the element at index 4 is not the leftmost element that satisfies the test...
<reepca> is this a bug in the hyperspec?
fivo has joined #lisp
slyrus has joined #lisp
fivo has quit [Client Quit]
fivo has joined #lisp
slyrus_ has quit [Ping timeout: 265 seconds]
<jackdaniel> clhs position
<jackdaniel> seems to be a braino, yes
<edgar-rft> reepca: it's a known error, see https://www.cliki.net/ANSI%20Clarifications%20and%20Errata
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
<kmeow> I'm trying to compile a script in SBCL, and I get +100 errors but it still spits out a fasl at the end
<reepca> edgar-rft: thanks!
slyrus_ has joined #lisp
<kmeow> thought I had an actual question, but looking over the errors again I'm so baffled I'm not even sure where to begin
<oni-on-ion> could be one initial error that leads to many others if sbcl continues past it
<oni-on-ion> (happens in C )
<kmeow> they're of the form "don't know how to dump #S( <some struct contents>)"
slyrus has quit [Ping timeout: 268 seconds]
<kmeow> it's apparently related to macro expansion
<oni-on-ion> cffi ?
<kmeow> nah, a macro I wrote
<oni-on-ion> oh
<kmeow> yeah, I'm browsing ANSI Common Lisp looking for a description of the compilation process
<kmeow> the file *runs* fine
<jackdaniel> clhs make-load-form
jonatack has quit [Read error: Connection reset by peer]
<jackdaniel> kmeow: ^
<kmeow> oo, ty
<jackdaniel> and of course
<jackdaniel> clhs compile-file
ggole has quit [Quit: Leaving]
<reepca> sometimes I think sbcl is too clever for its own good. It can figure out that the last iteration of a loop will always cause a type error and therefore delete the code after the loop as unreachable, but can't tell me why it deleted it and save me the time of analyzing it myself
Necktwi has joined #lisp
FreeBirdLjj has joined #lisp
izh_ has joined #lisp
<reepca> or maybe it would at a higher (optimize (debug ...)) setting?
<jackdaniel> try safety 3 debug 3
<reepca> put the declaration at the top of the function in question, it still just says "deleting unreachable code" and nothing else
Lycurgus has joined #lisp
bbsl has joined #lisp
FreeBirdLjj has quit [Ping timeout: 250 seconds]
<jackdaniel> it is easier to do something than explain clearly why it has been done (in compilers), so I suppose nobody bothered to implement explanation function
rpkne has joined #lisp
<reepca> it would actually be pretty interesting to try to implement a compiler that focuses on being able to answer "why" questions.
ax-hack has joined #lisp
aindilis has quit [Read error: Connection reset by peer]
lucasb has quit [Quit: Connection closed for inactivity]
ravndal has quit [Quit: WeeChat 2.6]
kritixilithos has quit [Quit: quit]
<edgar-rft> Hi compiler, why do I exist?
<ck_> syntax error at line 1
wiselord has quit [Ping timeout: 268 seconds]
gravicappa has quit [Ping timeout: 252 seconds]
<oni-on-ion> aha
patlv_ has joined #lisp
aindilis has joined #lisp
patlv_ has quit [Ping timeout: 240 seconds]
cosimone has quit [Quit: Quit.]
<aeth> reepca: Well, wouldn't the "why" just generally be proving, while showing sufficient steps, that some optimized form is equivalent to the original? So it sounds possible.
<aeth> For the unreachable code example, it would show you why the eliminated branch(es) can't be reached.
brown121408 has quit [Read error: Connection reset by peer]
brown121408 has joined #lisp
vlatkoB_ has quit [Remote host closed the connection]
icov0x29a has quit [Ping timeout: 250 seconds]
patlv_ has joined #lisp
<jackdaniel> it would be definetely interesting and it is not unknown that it is :)
scymtym has joined #lisp
<jackdaniel> n.b same goes for the systems which make automated decisions (be it machine learning or expert systems) -- a very appealing features is to make these things to answer why they made some choice (i.e provide a rationale which makes sense to human being)
<jackdaniel> but it is a hard problem to solve
Bourne has joined #lisp
<jackdaniel> (especially the part about making sense to people)
theBlackDragon has joined #lisp
Davd33 has joined #lisp
Davd33 has quit [Remote host closed the connection]
Lycurgus has quit [Quit: https://meansofproduction.biz Exit Quassel.]
boycottg00gle has joined #lisp
brown121408 has quit [Ping timeout: 265 seconds]
brown121408 has joined #lisp
cosimone has joined #lisp
<aeth> jackdaniel: well as long as you don't use ML it's not impossible to say "why" afaik
<aeth> now, ML saying "why", that's a hard problem afaik
<nirved> what makes sense today might not make any sense tomorrow
<ck_> another good time to reread the transcript: https://hci.stanford.edu/winograd/shrdlu/
<ck_> "why?" 'to get rid of it.'
<jackdaniel> I've applied a loose meaning of "hard"; it is different hard for comiplers and different hard for ML. The former is that making good meaningful compiler messages with source location (and visualisation) requires a lot of thought, providing rationale for decisions is a few steps harder
vivit has quit [Ping timeout: 268 seconds]
brown121408 has quit [Read error: Connection reset by peer]
brown121408 has joined #lisp
Dibejzer has joined #lisp
patlv_ has quit [Ping timeout: 268 seconds]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
<oni-on-ion> depends on the question we ask (how we retrieve the accrued data)
jonatack has joined #lisp
jonatack has quit [Client Quit]
jonatack has joined #lisp
Tordek has quit [Ping timeout: 250 seconds]
Tordek has joined #lisp
vms14 has joined #lisp
Tordek has quit [Ping timeout: 250 seconds]
jlarocco has joined #lisp
Tordek has joined #lisp
akoana has joined #lisp
papachan has joined #lisp
Tordek has quit [Ping timeout: 265 seconds]
fivo has quit [Quit: WeeChat 1.9.1]
Tordek has joined #lisp
boycottg00gle has quit [Remote host closed the connection]
papachan has quit [Ping timeout: 240 seconds]
Tordek has quit [Ping timeout: 250 seconds]
Tordek has joined #lisp
Dibejzer has quit [Quit: Leaving]
<pjb> jackdaniel: natural intelligence just lie about the reason why they made decisions.
<pjb> We just provide a-posteriori justifications.s
Tordek has quit [Ping timeout: 268 seconds]
krisfris has quit [Quit: WeeChat 1.9.1]
krisfris has joined #lisp
Frobozz has joined #lisp
Frobozz has quit [Client Quit]
Tordek has joined #lisp
anlsh has quit [Remote host closed the connection]
oni-on-ion has quit [Quit: Quit]
didi has joined #lisp
<didi> So I'm lazy. Is it bad to create input streams with `make-string-input-stream' and never close them?
enrio has quit [Ping timeout: 240 seconds]
Tordek has quit [Remote host closed the connection]
<aeth> didi: with-input-from-string should be equivalent, and it closes it
<aeth> well, equivalent if you're binding your make-string-input-stream in e.g. a let
<didi> aeth: I know, but it's SO MUCH MORE typing.
Jesin has quit [Quit: Leaving]
<aeth> didi: there should be an autocomplete somewhere, but I've never needed to install one
<aeth> alternatively, you can define your own macro
<didi> aeth: More work? Nah...
Jesin has joined #lisp
Tordek has joined #lisp
bitmapper has joined #lisp
Dibejzer has joined #lisp
izh_ has quit [Quit: Leaving]
kmeow has quit [Quit: Leaving]
<phoe> galdor: what do you want in CCL
<phoe> maybe it could be done
krisfris has quit [Ping timeout: 250 seconds]
<galdor> it was just a simple function: https://github.com/Clozure/ccl/issues/215
<galdor> nothing crazy :)
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
patlv_ has joined #lisp
<phoe> no idea if/how this will get pulled upstream. Feel free to cherrypick that commit onto Clozure/ccl and rebuild.
<phoe> Or use my fork that I aggressively clean and fix nowadays. It's a staging area before committing this all upstream, but I have Travis hooked up to ensure that I don't fuck something up bad while working on it.
<galdor> oh thank you!
<galdor> mind if I open a PR for this patch and try to get it merged?
icov0x29a has joined #lisp
<phoe> galdor: sure, just take this patch only. This commit is on top of 55 other commits.
<phoe> ...that aren't in CCL upstream just yet.
<galdor> ok
<Bike> ccl seems to lave a lot unexported...
<phoe> Bike: CCL is used to keeping literally everything and the kitchen sink in #<Package CCL> and then not exporting it and using :: and ::% to reach it.
<Bike> rite
<phoe> That's one of the things that trip me up about it.
<phoe> And one of the things that definitely need to be changed once someone throws enough attention at it.
icov0x29a has quit [Client Quit]
cosimone has quit [Remote host closed the connection]
patlv_ has quit [Ping timeout: 276 seconds]
cosimone has joined #lisp
lavaflow has joined #lisp
patlv_ has joined #lisp
Bike has quit [Ping timeout: 252 seconds]
meepdeew has joined #lisp
jason_m has quit [Ping timeout: 265 seconds]
patlv_ has quit [Quit: Leaving]
cosimone_ has joined #lisp
cosimone has quit [Ping timeout: 250 seconds]
Guest75462 has quit [Read error: Connection reset by peer]
Guest75462 has joined #lisp
rotucer has joined #lisp
Dibejzer has quit [Quit: Leaving]
bbsl has quit [Remote host closed the connection]
rotucer has quit [Quit: Quit]
Jeanne-Kamikaze has quit [Quit: Leaving]
meepdeew has quit [Read error: Connection reset by peer]
nowhere_man has joined #lisp
jason_m has joined #lisp
rotucer has joined #lisp
jason_m has quit [Client Quit]
khisanth__ has quit [Ping timeout: 250 seconds]
cosimone has joined #lisp
cosimone_ has quit [Ping timeout: 276 seconds]
entel has quit [Quit: Connection closed for inactivity]
shifty has joined #lisp
khisanth__ has joined #lisp
ax-hack has quit [Ping timeout: 240 seconds]