orivej has quit [Read error: Connection reset by peer]
orivej has joined #lisp
mindCrime has quit [Ping timeout: 260 seconds]
bsd4me has quit [Quit: gotta go]
minerjoe has quit [Ping timeout: 240 seconds]
ebrasca has quit [Remote host closed the connection]
cjb` has joined #lisp
cjb has quit [Ping timeout: 245 seconds]
bsd4me has joined #lisp
PuercoPop has quit [Remote host closed the connection]
Oladon has quit [Quit: Leaving.]
cjb` has quit [Quit: ERC (IRC client for Emacs 26.3)]
cjb has joined #lisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
mindCrime has joined #lisp
<beach>
Good morning everyone!
<jgodbou>
morn
mindCrime has quit [Ping timeout: 244 seconds]
<beach>
jgodbou: Are you new here? I don't recognize your nick.
v88m has quit [Ping timeout: 260 seconds]
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #lisp
satousan has joined #lisp
<jgodbou>
Not at all
<beach>
Oh, OK. Sorry.
<jgodbou>
I once asked you what time it really was where you were and you commented on timelessness of the chatroom
<jgodbou>
But I do not talk much so it's okay
<beach>
I see. Maybe you changed your nick, or maybe it was some time ago. Sorry either way.
zaquest has quit [Quit: Leaving]
retropikzel has joined #lisp
<jgodbou>
Always so lively here :)
<loke>
beach: do you recall some old Lisp implementation havign some kind of optimised storage of lists that used arrays behind the scenes?
<beach>
Yes, Lisp Machine Lisp.
<loke>
I sem to recall it being a failed experiment, but I can't remember the retails nor the name of the system.
<beach>
it is called CDR coding.
<loke>
Ah yes, CDR coding.
<beach>
They could get away with it because it had hardware support.
philweb has quit [Remote host closed the connection]
philweb has joined #lisp
zaquest has joined #lisp
<loke>
beach: This is the discussion I'm stuck in. I found myself in a rabbithole, and in posting this, I'm not expecting you to contribute nor even actually read it. :-)
<beach>
You should link to closos.pdf in the future. It is more recent.
Blukunfando has joined #lisp
Fare has joined #lisp
<beach>
loke: Good luck! :)
narimiran has joined #lisp
retropikzel has quit [Quit: retropikzel]
orivej has quit [Ping timeout: 246 seconds]
mrcom has quit [Read error: Connection reset by peer]
<loke>
beach: In the fost recent replies from Nate Cull, he explains his view on computation and data, and how he feels that abstract concept such as "objects" have failed.
<loke>
I tend to both agree and disagree with what he's saying. I really need to think about this some more, because I'm not sure I have a consistent opinion on this yet.
<loke>
I feel that Lisp Sexps as defined by Common Lisp is a really nice middle-ground between "raw arrays of bytes or other arrays" and some Java-like object-concepts.
vutral has quit [Quit: Connection closed for inactivity]
adyatlov has quit [Ping timeout: 245 seconds]
bsd4me has quit [Quit: Leaving]
v88m has joined #lisp
MadestMadness has joined #lisp
minerjoe has quit [Ping timeout: 240 seconds]
MadestMadness has quit [Client Quit]
<beach>
loke: Yes, I see what you mean.
<beach>
It is good that you keep the discussion polite.
mrcom has joined #lisp
<loke>
beach: As I grow older, I have taken a different approach to online debates: Before assuming that the person with whom I'm talking is wrong, think about how what I am saying could be seen as wrong.
<loke>
If the other person is still wrong, I prefer not participating at all.
gravicappa has joined #lisp
<beach>
That's very wise. In the long run, that attitude will pay off.
icov0x29a has joined #lisp
ldb has joined #lisp
<ldb>
good afternoon
<beach>
Hello ldb.
<ldb>
loke: to add up something could be relevant, in the programming language Russell types are viewed as a collection of interperations to the bits in memory
<ldb>
which leads to very fine grained control of memory representation, while remain the advantages of polymorphism
<ldb>
hello beach.
<Fare>
good night, guys
Necktwi has quit [Ping timeout: 256 seconds]
<borei>
hi all !
farooqkz__ has joined #lisp
<borei>
"note: *INLINE-EXPANSION-LIMIT* (50) was exceeded while inlining" - getting it trying to inline recursive function. How does compiler count number of expansions not knowing recursion depth ?
mankaev has quit [Ping timeout: 272 seconds]
mankaev has joined #lisp
MadestMadness has joined #lisp
<borei>
and one more question - note: doing float to pointer coercion (cost 13) to "<return value>" . Why ?
<ldb>
borei: keeping a counter is enough to know the num of expansions
cosimone_ has joined #lisp
<borei>
not clear
cosimone has quit [Read error: Connection reset by peer]
Necktwi has joined #lisp
<ldb>
borei: first of all, recursive function cannot be inlined indefinitly in SBCL
zigpaw has quit [Ping timeout: 256 seconds]
<borei>
is the an option to tell that recursion is not indefinite. My maximum depth will 8.
devon has quit [Ping timeout: 265 seconds]
zigpaw has joined #lisp
<ldb>
borei: should setting *INLINE-EXPANSION-LIMIT* work
MindForeverVoyag has quit [Ping timeout: 240 seconds]
Fare has quit [Ping timeout: 260 seconds]
<borei>
i was trying to go up to 200 - no luck.
Aurora_v_kosmose has quit [Quit: later]
<beach>
borei: In general, the compiler can not determine that the recursion depth is bounded.
<beach>
borei: If there is a recursive call somewhere, then that call will be inlined.
jonatack has quit [Ping timeout: 272 seconds]
<beach>
The only thing to stop the inlining is to set a limit to the number of times the compiler is allowed to inline.
<beach>
That is what *INLINE-EXPANSION-LIMIT* does.
cosimone_ has quit [Quit: Quit.]
<fe[nl]ix>
I see that optima was has been deprecated and the Github project was archived
<fe[nl]ix>
what's the alternative ?
_whitelogger has joined #lisp
<loke>
fenlix: there is another one that is compatible
<loke>
I can't remember its name.
gioyik has quit [Quit: WeeChat 2.9]
Archenoth has joined #lisp
<fe[nl]ix>
loke: trivia ?
<fe[nl]ix>
I sent pull requests to replace Eos with Fiveam for all deps in Quicklisp, except for Optima
<fe[nl]ix>
and since Optima is deprecated as well, it should be replaced
<fe[nl]ix>
but it has 33 depending systems in Quicklisp
karlosz has quit [Quit: karlosz]
<loke>
fenlix: Ah yes. Trivia.
<loke>
What is depending on optima? also, why is it deprecated?)
<loke>
Everything is archived, and his website is blank.
montxero has joined #lisp
jonatack has joined #lisp
_whitelogger has joined #lisp
aurelius has joined #lisp
ldb has quit [Ping timeout: 256 seconds]
ldb has joined #lisp
ldb has quit [Ping timeout: 246 seconds]
mangul has joined #lisp
farooqkz__ has quit [Ping timeout: 240 seconds]
notzmv has quit [Ping timeout: 264 seconds]
Oladon has quit [Quit: Leaving.]
ahungry has quit [Remote host closed the connection]
ldb has joined #lisp
mankaev has quit [Ping timeout: 256 seconds]
mankaev has joined #lisp
froggey has quit [Ping timeout: 265 seconds]
froggey has joined #lisp
seok has quit [Ping timeout: 245 seconds]
jonatack has quit [Ping timeout: 256 seconds]
cjb has quit [Quit: ERC (IRC client for Emacs 26.3)]
gaqwas has quit [Remote host closed the connection]
pve has joined #lisp
shifty has joined #lisp
vaporatorius__ has joined #lisp
vaporatorius has quit [Ping timeout: 256 seconds]
ldb has quit [Ping timeout: 240 seconds]
ljavorsk has joined #lisp
ralt has joined #lisp
ldb has joined #lisp
jonatack has joined #lisp
ldb has quit [Ping timeout: 246 seconds]
contrapunctus has joined #lisp
ldb has joined #lisp
ldb has quit [Ping timeout: 265 seconds]
gravicappa has quit [Ping timeout: 265 seconds]
gravicappa has joined #lisp
aurelius has quit []
aurelius has joined #lisp
ldb has joined #lisp
ldb has quit [Ping timeout: 256 seconds]
orivej has joined #lisp
orivej has quit [Ping timeout: 246 seconds]
ldb has joined #lisp
ldb has quit [Ping timeout: 265 seconds]
gravicappa has quit [Remote host closed the connection]
iissaacc has joined #lisp
q3d has joined #lisp
<iissaacc>
anyone know if common lisp has an equivalent of dir() in python to see the available methods etc of an object from the REPL? google not helping
X-Scale` has joined #lisp
X-Scale has quit [Ping timeout: 240 seconds]
X-Scale` is now known as X-Scale
<beach>
iissaacc: What do you mean by "available methods of an object"?
montxero has quit [Remote host closed the connection]
<jackdaniel>
technically a generic function is an object too, you may even subclass it, but you know what I've meant
mankaev has joined #lisp
vaporatorius has joined #lisp
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
<beach>
iissaacc: So can you be more specific about what you want?
<loke>
There is a function in SWANK that can be used to find all methods that specialise on a given type.
<jackdaniel>
I think that he understands now that his question doesn't make sense in Common Lisp (unlike in Python or C++, where "methods" are part of the class)
<iissaacc>
beach i was just looking for a way of quickly seeing what methods i could use on an object from a library without looking at the source, but i see that it doesnt make sense in the lisp contexr now
<beach>
Got it.
<loke>
iissaacc: The best way to do that is simply to use SLIME and show all exported symbols in the library's package.
<ralt>
I typically do LIB-PACKAGE:<tab>
<ralt>
right, what loke said
<loke>
Exactly ;-)
ldb has quit [Ping timeout: 256 seconds]
<iissaacc>
thanks loke, this is cool
gxt has joined #lisp
philweb has quit [Ping timeout: 245 seconds]
<iissaacc>
pretty much what i was after! even shows u where the definition is in the source file
<phoe>
flip214: nope
bhartrihari has left #lisp ["Disconnected: closed"]
ggole has joined #lisp
<flip214>
so moving over is still an idea, but the short-term solutions is to switch repository...
ldb has joined #lisp
icov0x29a_ has joined #lisp
icov0x29a has quit [Ping timeout: 256 seconds]
ldb has quit [Ping timeout: 240 seconds]
<loke>
iissaacc: Note that this just shows the functions that are specialised on the type. There can be more functions that works with the type (anything defined with DEFUN won't show up for example)
markong has quit [Ping timeout: 265 seconds]
markong has joined #lisp
<jackdaniel>
I have an idea how to make the input context apply to all frames (so it is possible to select a presentation from a different frame if it matches the context)
<jackdaniel>
um, not here
jello_pudding has quit [Ping timeout: 256 seconds]
jello_pudding has joined #lisp
bhartrihari has joined #lisp
mangul has quit [Remote host closed the connection]
shangul has joined #lisp
minerjoe has joined #lisp
iissaacc has quit [Ping timeout: 240 seconds]
iissaacc has joined #lisp
Lord_of_Life_ has joined #lisp
Necktwi has quit [Ping timeout: 256 seconds]
space_otter has quit [Remote host closed the connection]
jprajzne has quit [Quit: jprajzne]
Lord_of_Life has quit [Ping timeout: 246 seconds]
Lord_of_Life_ is now known as Lord_of_Life
jprajzne has joined #lisp
random-nick has joined #lisp
orivej has joined #lisp
ebrasca has joined #lisp
ljavorsk has quit [Ping timeout: 240 seconds]
q3d has quit [Ping timeout: 245 seconds]
cosimone has joined #lisp
terpri has quit [Remote host closed the connection]
cosimone has quit [Quit: Quit.]
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #lisp
minerjoe has left #lisp ["ERC (IRC client for Emacs 28.0.52)"]
minerjoe has joined #lisp
terpri has joined #lisp
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #lisp
vornth has joined #lisp
aaaaaa has joined #lisp
shangul has quit [Ping timeout: 256 seconds]
Necktwi has joined #lisp
gravicappa has joined #lisp
ldb has joined #lisp
Harag has quit [Remote host closed the connection]
<ldb>
guys, do you have suggested reading on how common lisp loads a fasl file that contains native code?
xkapastel has joined #lisp
<jackdaniel>
it is implementation dependent. only the part specified with eval-when is guaranteed
<jackdaniel>
for instance ECL dlopen's the fasl file (which is in fact a shared library) and calls the initialization functions
<jackdaniel>
and by "part specified with eval-when" I mean, that if you put some block as (eval-when (:execute) …), then this block will be evaluated when the fasl is loaded
<ldb>
how can data objects with reference, such as symbols with a fdefinition, been restored?
Fare has joined #lisp
<phoe>
first you grab the function object, then you setf the fdefinition of a symbol to that object
<jackdaniel>
exactly
<ldb>
ok so I see there's limitation on what kind of data been stored in fasl files
<jackdaniel>
there /may/ be a limitation - it is implementation dependent
<ldb>
actually I'm seeking guides on assembly code generation, but there's not much info on it besides calling LLVM
<phoe>
that's not a FASL thing, they store already generated code
<phoe>
you might be thinking of compiler design
wsinatra has joined #lisp
aurelius has quit [Remote host closed the connection]
zigpaw has quit [Ping timeout: 265 seconds]
<jackdaniel>
afair beach plans for fasl in sicl to store a machine-independent compiled code which will be translated to a machine-dependent native code during load
<phoe>
a FASL file might even contain just S-expressions that have undergone minimal compilation and have proper load-time side effects
<phoe>
like, literally be a text file
<ldb>
yes, I seen beach presented some example of minial compiled ast stored as sexps
<ldb>
for load time code gen, I guess it is hard to design a general enough pseudo machine language to be portable
enrio has joined #lisp
ljavorsk has joined #lisp
enrio has quit [Remote host closed the connection]
enrio has joined #lisp
ldb has quit [Quit: leaving]
vidak` has quit [Remote host closed the connection]
ldb has joined #lisp
zigpaw has joined #lisp
rogersm has joined #lisp
ayuce has joined #lisp
__jrjsmrtn__ has joined #lisp
_jrjsmrtn has quit [Ping timeout: 240 seconds]
paul0 has joined #lisp
paul0 has quit [Client Quit]
cosimone has joined #lisp
FreeBirdLjj has joined #lisp
jgodbou has quit [Remote host closed the connection]
ldb has quit [Ping timeout: 240 seconds]
FreeBirdLjj has quit [Ping timeout: 260 seconds]
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
ldb has joined #lisp
ldb has quit [Ping timeout: 246 seconds]
ldb has joined #lisp
shifty has quit [Ping timeout: 256 seconds]
ljavorsk has quit [Ping timeout: 256 seconds]
rumbler31 has joined #lisp
jw4 has quit [Read error: Connection reset by peer]
ldb has quit [Ping timeout: 256 seconds]
jw4 has joined #lisp
<pve>
Hi, do you guys think this function will let me reach the end of a list without actually READing? Assuming the standard readtable..
<pve>
It seems to work, but I can't help but think that there's something I'm missing
<pve>
it doesn't have to be valid CL, I just need to balance the parens
<beach>
What do you have against READ?
refpga has joined #lisp
iissaacc has quit [Ping timeout: 246 seconds]
<beach>
But yeah, it looks plausible to me, given some constraints on the input.
<pve>
nothing, but the code may refer to packages that don't exist
<beach>
That's what Eclector is for.
<pve>
(I know about eclector, it's on the roadmap)
<pve>
ok
<beach>
You can tell Eclector to interpret tokens in whatever way you like.
<jackdaniel>
for arbitrary grammars there is also esrap
refpga has quit [Client Quit]
refpga has joined #lisp
<pve>
is Eclector under heavy development? Or more or less stable?
<beach>
More features are occasionally added, but what is there is stable.
<beach>
I am using it as the only reader for SICL.
<beach>
Clasp is using it as well.
<beach>
But they may be using a specific reader during bootstrapping.
<beach>
It is also well tested and well documented.
<pve>
ok, that's good
rwcom3417491 has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
refpga has quit [Read error: Connection reset by peer]
refpga has joined #lisp
orivej has quit [Ping timeout: 256 seconds]
sjl_ has joined #lisp
orivej has joined #lisp
Aurora_v_kosmose has joined #lisp
enrioog has joined #lisp
enrio has quit [Ping timeout: 240 seconds]
refpga has quit [Read error: Connection reset by peer]
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
refpga has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
refpga has quit [Read error: Connection reset by peer]
bhartrihari has joined #lisp
rogersm has quit [Quit: Leaving...]
refpga has joined #lisp
dominic34 has joined #lisp
bsd4me has joined #lisp
Alfr has joined #lisp
Bourne has quit [Ping timeout: 240 seconds]
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #lisp
icov0x29a__ has joined #lisp
contrapunctus has left #lisp ["Disconnected: closed"]
contrapunctus has joined #lisp
icov0x29a_ has quit [Ping timeout: 264 seconds]
rippa has joined #lisp
<Josh_2>
Afternoon folks
<beach>
Hello Josh_2.
orivej has quit [Ping timeout: 246 seconds]
Yardanico is now known as yardanico[ok]
orivej has joined #lisp
yardanico[ok] is now known as Yardanico
shifty has joined #lisp
xkapastel has quit [Quit: Connection closed for inactivity]
<Josh_2>
Hey beach, hows your projects coming along?
<beach>
Josh_2: Slow but steady progress, thank you. Working on the condition system at the moment. It is simple in theory, but the devil is in the detail as usual.
<beach>
How about yours?
ahungry has joined #lisp
<Josh_2>
Mine aren't going so great, been procrastinating really hard the last week. I was playing with McCLIM as a front end for an app I made, not made all that much progress.
<beach>
I see.
refpga has quit [Ping timeout: 265 seconds]
<ebrasca>
Hi
<beach>
Hello ebrasca.
refpga has joined #lisp
<Josh_2>
Hi
cosimone has quit [Remote host closed the connection]
<bitmapper>
oh, that's actually a rather simple fix
<bitmapper>
i remember now
<bitmapper>
it defines a macro called type which makes sbcl very angry
<bitmapper>
; caught COMMON-LISP:WARNING:
<bitmapper>
; Constant 0 conflicts with its asserted type TYPE.
<bitmapper>
oh
<bitmapper>
phoe: it declares a type called type
Frobozz has joined #lisp
<bitmapper>
which like
<bitmapper>
breaks everything
<phoe>
bitmapper: wait, that's illegal
<bitmapper>
because you can do type declarations like this
<bitmapper>
(type typespec var*)
<bitmapper>
(typespec var*)
<bitmapper>
oh my god that's hilarious
<phoe>
bitmapper: did you unlock the CL package?
<bitmapper>
perhaps
<phoe>
well then
<bitmapper>
:>
<phoe>
you're no longer on charted territory, good luck
<bitmapper>
i didn't actually need to unlock it
<phoe>
......is this that weird yale haskell code that unlocks the CL package for you?
Frobozz has quit [Remote host closed the connection]
<bitmapper>
phoe: no
luna_is_here has quit [Ping timeout: 240 seconds]
<bitmapper>
it expects the cl package to be called lisp iirc
<phoe>
yes, that's CLtL1
<phoe>
and I'm asking because (deftype cl:type () 'integer) is illegal
<bitmapper>
yes
<bitmapper>
debugger invoked on a SB-EXT:SYMBOL-PACKAGE-LOCKED-ERROR in thread #<THREAD "main thread" RUNNING {10008A0083}>: Lock on package COMMON-LISP violated when defining TYPE as a structure while in package MUMBLE-USER.
<phoe>
as a structure... oh goodness
luna_is_here has joined #lisp
<phoe>
I guess you can (:shadow #:type) in DEFPACKAGE MUMBLE-USER
ldb has joined #lisp
<bitmapper>
phoe: or i could do it the better way and modify the custom reader for the bootleg scheme to replace type with a different symbol
<bitmapper>
because that doesn't work anyway
karlosz has quit [Quit: karlosz]
aurelius has joined #lisp
ldb has quit [Ping timeout: 256 seconds]
<bitmapper>
i'm kidding myself
mankaev has quit [Read error: Connection reset by peer]
<bitmapper>
there is no better way
abhixec has joined #lisp
mankaev has joined #lisp
<phoe>
this is going to work in the short run
<phoe>
but in the long run someone (read: likely you) is going to get very confused that something like that is going on in there.
<phoe>
so I suggest proper packaging and shadowing instead
aurelius has quit [Ping timeout: 240 seconds]
vornth has quit [Read error: Connection reset by peer]
<contrapunctus>
I like that heading - "Registration on gitlab.c-l.net made harder" 😄
icov0x29a__ has quit [Quit: Leaving]
<phoe>
the bots are having it real hard on clnet gitlab
ggole has quit [Ping timeout: 260 seconds]
MightyJoe has quit [Ping timeout: 265 seconds]
<contrapunctus>
"Invalid login or password" 😣
cyraxjoe has joined #lisp
<contrapunctus>
(Since I use a password manager, I usually take that to mean something excessively screwy has taken place.)
<phoe>
contrapunctus: try asking on #common-lisp.net
ldb has joined #lisp
<contrapunctus>
Oh, it seems I was supposed to register again with that link.
EvW has joined #lisp
luna_is_here has quit [Ping timeout: 256 seconds]
luna_is_here has joined #lisp
v3ga has joined #lisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
ldb has quit [Ping timeout: 264 seconds]
shifty has quit [Ping timeout: 240 seconds]
TwoNotes has joined #lisp
borei has joined #lisp
shifty has joined #lisp
luna_is_here has quit [Ping timeout: 256 seconds]
luna_is_here has joined #lisp
xkapastel has joined #lisp
mindCrime has quit [Ping timeout: 260 seconds]
<bitmapper>
phoe: screw it
<bitmapper>
gcl time
<phoe>
truly dead code requires truly dead implementations
<bitmapper>
im pretty sure the code is more deaderer than gcl
<bitmapper>
last commit like 3 months ago on gcl
ldb has joined #lisp
orivej has quit [Ping timeout: 265 seconds]
orivej has joined #lisp
MightyJoe has joined #lisp
ldb has quit [Ping timeout: 256 seconds]
cyraxjoe has quit [Ping timeout: 256 seconds]
shifty has quit [Ping timeout: 240 seconds]
luckless has joined #lisp
gaqwas has quit [Remote host closed the connection]
pd_ has joined #lisp
TwoNotes has quit [Read error: Connection reset by peer]
gaqwas has joined #lisp
gaqwas has joined #lisp
gaqwas has quit [Remote host closed the connection]
grewal has quit [Ping timeout: 240 seconds]
grewal has joined #lisp
karlosz has joined #lisp
enrioog has quit [Ping timeout: 265 seconds]
<contrapunctus>
Hm, thought I'd tweak the CSS of iterate's HTML documentation to improve reading on mobile...but I guess I'm the only nut who reads programming texts on their phone, and my CSS-fu isn't so strong that I can fix it without changing the way it looks on desktops. 😓
gravicappa has quit [Ping timeout: 256 seconds]
gxt has quit [Quit: WeeChat 2.9]
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #lisp
<seok>
use media query?
narimiran has quit [Ping timeout: 256 seconds]
TwoNotes has joined #lisp
^ is now known as uplime
orivej has quit [Ping timeout: 240 seconds]
pd_ has quit [Ping timeout: 256 seconds]
shifty has joined #lisp
TwoNotes has quit [Quit: Leaving]
<seok>
PG says ,@ should be used in a sequence. does this mean it can be used in strings? (how?)
<seok>
I thought the only use for it was in a list
v3ga has quit [Ping timeout: 260 seconds]
<_death>
not strings, but `#(1 ,@(list 2 3))
<seok>
Oh
<seok>
Interesting
OpenZen has joined #lisp
<White_Flame>
hmm, if commas did replacements inside strings, that would be another thing to have to escape
<seok>
White_Flame there is already format tho
<White_Flame>
right
<seok>
guess "this is the value of x ,x" could be easier to read
<White_Flame>
I have (debug-expression x) for that, as well as (debug-stuff &rest anything)
<White_Flame>
so I tend not to have to use FORMAT much for actual stdout reporting
<seok>
you have a better format?
<seok>
is that your util?
<White_Flame>
it just prints stuff
<White_Flame>
with a space between them
<White_Flame>
(let ((x 3)) (debug-expression x)) prints "X: 3" and newline
<seok>
Ah
asarch has quit [Quit: Leaving]
<White_Flame>
simple but useful
<seok>
A lot of languages now have in-string formatting, guess we could write one for lisp
<White_Flame>
however, I think I would prefer an actual sexpr based one instead of magic chars in strings
<_death>
indeed
<aeth>
you could write a reader macro to just do the equivalent of #.(format nil "foo~%") as e.g. #%"foo~%" but idk if there are any useful 0-argument FORMAT directives other than ~%
<ralt>
I often have (defun cat (&rest args) (apply #'concatenate 'string args)) in my projects
<phoe>
uiop:strcat
<phoe>
but then again, uiop
<ralt>
Oh, didn't know about it
<ralt>
I use uiop everywhere already so that's helpful
bsd4me has joined #lisp
orivej has joined #lisp
<phoe>
don't we all
<phoe>
only the strongest wills of us gathered here still decline to give in to its sweet but painful promises
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
ebrasca has quit [Remote host closed the connection]
<_death>
the traditional name for this function is string-append.. but it was removed from CL
<seok>
phoe wait! I didn't know this
<seok>
ty
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
karlosz has quit [Quit: karlosz]
theseb has joined #lisp
torbo has joined #lisp
EvW has quit [Ping timeout: 260 seconds]
seok has quit [Ping timeout: 245 seconds]
diamondbond has joined #lisp
aaaaaa has quit [Quit: leaving]
karlosz has joined #lisp
<aeth>
string-append is also going to be available from my Scheme-in-CL, for when you want to pull in an entire, unused Scheme runtime just to call (apply #'concatenate 'string strings)
<aeth>
(You know someone is going to do it eventually.)
<_death>
but does it have string-nconc?
<aeth>
no, Schemes generally frown on such things.
<aeth>
plus, to truly nconc you'd need the first to be an adjustable string buffer rather than a simple-string, which I doubt is expected behavior
<_death>
hehe.. lisp machine lisp had it.. it modified the first argument
<aeth>
It's such unexpected behavior, MAKE-STRING doesn't even directly support it with an :adjustable key. You have to MAKE-ARRAY with :element-type 'character, e.g. (make-array 10 :element-type 'character :adjustable t)
<aeth>
Of course, maybe everything was implicitly adjustable in Lisp Machines, but they had the benefit of having hardware support
<_death>
I guess it wasn't useful enough to survive, although FORMAT can be supplied with an array which it will modify
<aeth>
which is almost entirely redundant with WITH-OUTPUT-TO-STRING, although it'd be a bit more concise and potentially a bit more efficient
<_death>
may be useful when you want to reuse the storage
rumbler31 has quit [Ping timeout: 256 seconds]
<aeth>
The same sort of person who got rid of string-append for being redundant with concatenate probably would oppose the FORMAT string buffer feature over WITH-OUTPUT-TO-STRING. That there's an inconsistency like that shows it was designed by committee :-p
<_death>
you mean string-nconc? :)
mindCrime has joined #lisp
pve has quit [Remote host closed the connection]
xkapastel has quit [Quit: Connection closed for inactivity]
diamondbond has quit [Ping timeout: 244 seconds]
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 256 seconds]
Lord_of_Life_ is now known as Lord_of_Life
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
aaaaaa has joined #lisp
bsd4me has quit [Remote host closed the connection]
fwoaroof[m] has joined #lisp
aurelius has joined #lisp
aaaaaa has left #lisp [#lisp]
refpga has quit [Read error: Connection reset by peer]
aurelius has quit [Ping timeout: 246 seconds]
refpga has joined #lisp
elflng has quit [Read error: No route to host]
refpga has quit [Read error: Connection reset by peer]
refpga has joined #lisp
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
elflng has joined #lisp
refpga has quit [Read error: Connection reset by peer]
refpga has joined #lisp
luna_is_here_ has joined #lisp
cosimone has quit [Ping timeout: 244 seconds]
luna_is_here has quit [Ping timeout: 264 seconds]
zigpaw has quit [Ping timeout: 265 seconds]
quazimodo has quit [Ping timeout: 256 seconds]
luna_is_here has joined #lisp
ldb has joined #lisp
luna_is_here_ has quit [Ping timeout: 240 seconds]
<aeth>
CC0 isn't too unusual, although I normally see it more for things like documentation than code
<aeth>
The license as HTML is pretty unusual, though
<Alfr>
No, I mean the formatting of the HTML itself. ;)
quazimodo has joined #lisp
zigpaw has joined #lisp
bsd4me has joined #lisp
ayuce has quit [Read error: Connection reset by peer]
ldb has quit [Ping timeout: 265 seconds]
<aeth>
It actually looks pretty nice
<aeth>
Idk about always putting the closing tag on the same line as the prior thing, but that also removes ambiguity
<fwoaroof[m]>
It might not matter here, but Creative Commons recommends that their licenses not be used for software
quazimodo has quit [Ping timeout: 246 seconds]
<aeth>
Normally, you'd have to distinguish between on-their-own-line tags like </html> and inline tags like </b>, but then there's ambiguity, like </a> in the case of this html file
nckx is now known as ^
EvW1 has joined #lisp
<aeth>
Consistently putting end tags at the end of the line makes a much simpler auto-formatter for machine-generated HTML
^ is now known as nckx
cjb has joined #lisp
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #lisp
<Alfr>
aeth, it's nice but also looks strange at the same time.
karlosz has quit [Quit: karlosz]
<aeth>
Alfr: It would look a bit better, done by hand, if most of the tags were on their own line, like e.g. the </a>
<aeth>
But then you'd have to be smart about when to do it and when not to do it
<aeth>
and that would quickly become a large part of the library