<aeth>
that one simple thing probably makes me use DDG more than Google even though Google's results are better
<mfiano>
I just register a search engine for it in my browser
<aeth>
directly? interesting
<mfiano>
Yeah `l term` searches l1sp for me
voidlily has joined #lisp
Stanley|00 has joined #lisp
Stanley00_ has joined #lisp
Stanley00 has quit [Ping timeout: 268 seconds]
Stanley|00 has quit [Ping timeout: 240 seconds]
Alfr has joined #lisp
shifty has joined #lisp
<beach>
Good morning everyone!
Alfr_ has quit [Ping timeout: 240 seconds]
rx_ has joined #lisp
<rx_>
hello
<beach>
Hello rx_.
<beach>
rx_: Are you new here? I don't recognize your nick.
<rx_>
I've been here once or twice under a different nick
<beach>
Ah, I see. That explains it.
<rx_>
don't mind me, just here to see lispers (is that a word?) in action
<beach>
Sure, that's fine. Speak up if you need anything.
yonkunas has quit [Quit: Connection closed for inactivity]
Alloc has quit [Ping timeout: 240 seconds]
shoshin1 has joined #lisp
Nilby has joined #lisp
shoshin has quit [Ping timeout: 260 seconds]
shoshin1 is now known as shoshin
aaaaaa has quit [Ping timeout: 260 seconds]
aaaaaa has joined #lisp
madage has quit [Ping timeout: 240 seconds]
oxum has joined #lisp
pillton has quit [Read error: Connection reset by peer]
hiroaki has quit [Ping timeout: 264 seconds]
oxum has quit [Remote host closed the connection]
hiroaki has joined #lisp
bocaneri has joined #lisp
Volt_ has quit [Quit: ]
oxum has joined #lisp
bocaneri has quit [Max SendQ exceeded]
bocaneri has joined #lisp
zaquest has quit [Quit: Leaving]
zaquest has joined #lisp
aeth has quit [Ping timeout: 268 seconds]
aeth has joined #lisp
flip214 has quit [Ping timeout: 240 seconds]
iissaacc has quit [Ping timeout: 240 seconds]
flip214 has joined #lisp
narimiran has joined #lisp
Fare has quit [Ping timeout: 264 seconds]
rx_ has quit [Quit: rx_]
Blukunfando has quit [Ping timeout: 260 seconds]
orivej has joined #lisp
_whitelogger has joined #lisp
madage has joined #lisp
aaaaaa has quit [Ping timeout: 264 seconds]
shka_ has joined #lisp
aartaka has joined #lisp
Alloc has joined #lisp
gioyik_ has quit [Quit: WeeChat 2.9]
oxum has quit [Remote host closed the connection]
Necktwi has quit [Ping timeout: 246 seconds]
iskander has quit [Quit: bye]
oxum has joined #lisp
iskander has joined #lisp
wooden has joined #lisp
wooden has quit [Changing host]
wooden has joined #lisp
jprajzne has joined #lisp
oxum_ has joined #lisp
oxum has quit [Ping timeout: 256 seconds]
FreeBirdLjj has joined #lisp
skapata has quit [Quit: Leaving]
tamarindo has quit [Ping timeout: 240 seconds]
FreeBirdLjj has quit [Ping timeout: 240 seconds]
hnOsmium0001 has quit [Quit: Connection closed for inactivity]
liberliver has joined #lisp
galex-713 has quit [Ping timeout: 268 seconds]
hendursa1 has joined #lisp
hendursaga has quit [Ping timeout: 240 seconds]
Cymew has joined #lisp
IPmonger has quit [Ping timeout: 240 seconds]
IPmonger has joined #lisp
pve has joined #lisp
Nilby has quit [Ping timeout: 240 seconds]
gaqwas has quit [Remote host closed the connection]
ihon has joined #lisp
shifty has quit [Ping timeout: 264 seconds]
tiwEllien has joined #lisp
IPmonger has quit [Ping timeout: 268 seconds]
IPmonger has joined #lisp
random-nick has joined #lisp
treflip has joined #lisp
saganman has joined #lisp
orivej has quit [Ping timeout: 268 seconds]
frost-lab has quit [Quit: Connection closed]
treflip has quit [Quit: WeeChat 2.6]
hansbauer[m] has quit [Quit: Idle for 30+ days]
xzax_[m] has quit [Quit: Idle for 30+ days]
xzax_[m]1 has quit [Quit: Idle for 30+ days]
Necktwi has joined #lisp
oxum has joined #lisp
oxum_ has quit [Ping timeout: 265 seconds]
oxum_ has joined #lisp
IPmonger has quit [Ping timeout: 264 seconds]
oxum has quit [Ping timeout: 260 seconds]
troydm has quit [Ping timeout: 260 seconds]
IPmonger has joined #lisp
troydm has joined #lisp
<dim>
other than money I keep thinking that a good way for Common Lisp to get more usage and spotlight would be with an infra-level solution that just happens to be written in it... Erlang has telecom routeurs (then later WhatsApp), Go has docker and k8s, Java has many things including Cassandra, Javascript has NodeJS and the browser market, Python has django, Ruby has Rails, etc
<dim>
what's a flagship product written in Common Lisp that people either use or respect and that they don't have to know that it's written in CL?
<ane>
pgloader
<dim>
I wish, not the case, and I'm recruiting contributors to the project too
jesse1010 has joined #lisp
IPmonger has quit [Ping timeout: 260 seconds]
<beach>
I meant for GSharp to be such a product, but I made some design mistakes. I am hoping to correct those mistakes in version 2, called Clovetree.
<beach>
Plus, there are now much better free music fonts, so things should be simpler this time.
<ane>
I would also say stumpwm but I think everyone using it knows it's written in cl
<ane>
pgloader less so
<scymtym>
at dayjob, i made an application that is in some ways similar to pgloader but it generate CI and build configurations for systems of multiple software projects. despite working efficiently and reliably, people cite the fact that the implementation language is CL as the biggest problem, because "it stops people from understanding it and contributing to it". so i think the "killer app" approach gets people interested in the application,
<scymtym>
not the language
<dim>
have you used GuitarPro already beach ? from a small company in France (around Lille, if that's still relevant, and assuming it still is the case)
<dim>
scymtym: I have the same problem with pgloader, people see Common Lisp, sometimes they go as far as opening a source file in the browser, and then they're like “ok I can't contribute to that, it's encrypted in lisp”
jonatack has quit [Ping timeout: 258 seconds]
<lottaquestions>
dim:Best quote ever “ok I can't contribute to that, it's encrypted in lisp” :-D
<scymtym>
dim: right. i wouldn't consider that a problem per se, but in the dayjob context it meant that "rewriting it in python" was always on the table
jonatack has joined #lisp
<beach>
dim: I have not.
<dim>
beach: 10 years ago it could have been a competitor to GSharp, nowadays they are well more than 10 years ahead of what you began working on if I'm not mistaken, it's impressive, and almost every guitar player I have seen using tabs on a screen is using GuitarPro, often a illegal copy of it
<dim>
I even paid for a copy of it, twice (desktop and then tablet edition), and I consider myself a proponent of free software
<dim>
anyway
<dim>
scymtym: I think people expect code to look like C/Java/Python/Go/Rust nowadays, and Lisp/Erlang is just too foreign for most brains, they're afraid of it... Erlang managed to get quite a good group of users, but still so far away from the mainstream
<phoe>
dim: erlang got more popular because elixir looks more like C
<pve>
A single pgloader (as good as it is) may not have a big impact, but when there are a hundred pgloaders ("killer apps"), people might look at them and say "Gee, look at all these cool apps! I guess I should start learning the language".
<phoe>
;; or, read: less like prolog
<dim>
pve: yeah I also started pgcharts and other things, but we still have such a long way to go
<dim>
also I think the McCLIM efforts could get somewhere real nice, including the text based version for terminals, strangely enough
<dim>
pve: and pgloader is not that good ; users keep seeing “heap exhausted” and can't get out of that easily, and can't use CCL to compile it because CCL isn't in debian (which is the main docker OS I believe), all because the build system of CCL depends on a patched version of gcc or something
<pve>
dim: I hope you understand that I did not mean that you alone should be responsible for making all these killer apps :)
<dim>
also don't get me started on FFI in Common Lisp and specifically openssl, it's an hell loop of its own... Go implemented SSL in Go, Java I think did the same, sometimes I dream of a modern TLS implementation in pure CL
<phoe>
dim: actually the CCL build system requires CCL which is an issue
<scymtym>
dim: i'm not sure. in my case the context is academic and people use prolog (unfamiliar syntax), smt-lib or pddl (s-expression syntax) without hesitation if it helps their research. but for "engineering"-related software, it's apparently different
<phoe>
it's the bootstrapping problem
<phoe>
(AFAIK)
<dim>
pve: hehe, yeah, but nobody's contributing to pgloader already, well, some are like phoe, but we're still missing contributors and time
<phoe>
I'm contributing very little :(
<phoe>
mostly just an issue comment now and then
<dim>
phoe: I don't think the bootstrapping prevents inclusion in debian, they have a way to make that happen with pushing a binary-only package first
<dim>
scymtym: oh it's even worse than what I though then
<jdz>
phoe: I think the popularity of Elixir is because it looks more like Ruby (and it has the Ruby on Rails analog).
<dim>
I've been writing C code on a daily basis again for ~2 years now and I can tell you I miss CL very much ;-)
<beach>
dim: I see (about GuitarPro).
<phoe>
jdz: s/C/Ruby/
jonatack has quit [Ping timeout: 265 seconds]
<dim>
beach: they pushed the bar very high (pun not intended... although... maybe a little0
<beach>
Heh.
gaqwas has joined #lisp
gaqwas has quit [Changing host]
gaqwas has joined #lisp
<dim>
what would be amazing in that space, beach, I believe, would be a tool that knows how to parse the crappy ascii-art tabs found on so many websites and turn them into editable actual parts... with a way to export them in the GuitarPro format if that's possible... but that might be completely different from what you want to do... just a thought
<beach>
Yes, I see. And yes, very different.
<pve>
dim: I think you're being to modest. An app that gets actual users is something to be proud of. And there will always be bugs.
* easye
muses that could probably get pretty far by machine learning the corpus of existing ASCII tableaus.
<easye>
But that wouldn't really be a showcase for our favorite CONS (other than developing the toolset to do ML).
gaqwas has quit [Remote host closed the connection]
<dim>
pve: thanks for the kind words, means a lot to me!
eddof13 has quit [Ping timeout: 264 seconds]
<phoe>
^
<dim>
that said I can see more things yet to be done in pgloader than things that are already usable
orivej has joined #lisp
<phoe>
I second what pve said; for every bug ticket on pgloader there's many uses where people don't submit bug tickets because there's no bugs
aartaka_d has joined #lisp
nullman has quit [Remote host closed the connection]
nullman has joined #lisp
frgo has quit []
<dim>
yeah, I consider bug tickets / issues to be presents from only the super motivated users, I kind of cherish them, that's not my issue
aartaka has quit [Ping timeout: 268 seconds]
shifty has joined #lisp
<dim>
what I would like to see happening in pgloader and that I can't find the time to do are many things, including: fix the MySQL driver (qmynd) for the new default auth scheme in MySQL 8.0.1, add support for ODBC connections, offer ODBC instead of FreeTDS for talking to MS SQL, in a way that you can build pgloader without FreeTDS, then fix building pgloader on windows and make windows properly supported as a target, add Oracle support (using ODBC), clean up the
<dim>
code internally, some parts are a crufty old mess still, understand and fix “head exhausted” errors when using SBCL, review performances, etc etc
<dim>
another project I can think of is make it possible to produce pgloader.jar using ABCL and in there use only JDBC drivers, and then see about Oracle and DB2 support using JDBC
<dim>
yet another project is plconvert that is a compiler I have begun to write to rewrite Oracle PL/SQL in Postgres PLpgSQL, a full blown compiler with intermediate representation and optimisation passes, the current work is re-doing the parser entirely from Oracle docs
<dim>
anyway
<dim>
that's all those things I'm not doing (ENOTIME) that make me sad about the state of pgloader
<dim>
also I would like to fix that when only users of pgloader are enterprise employees they could contribute either time or money or both to the project, and no one is doing that, it's free and they expect it to magically do their job and never send the Moral Licence document to their bosses
drmeister has quit [Ping timeout: 272 seconds]
<dim>
I won't fix the world today though ;-) thanks for listening ;-)
oxum_ has quit [Remote host closed the connection]
tfb has quit [Ping timeout: 272 seconds]
drmeister has joined #lisp
tfb has joined #lisp
hendursa1 has quit [Remote host closed the connection]
hendursa1 has joined #lisp
_whitelogger has joined #lisp
ldb has joined #lisp
<ldb>
good evening
<Xach>
dim: cool
Stanley00_ has quit []
gaqwas has joined #lisp
gaqwas has quit [Changing host]
gaqwas has joined #lisp
frgo has joined #lisp
jw4 has quit [Read error: Connection reset by peer]
jw4 has joined #lisp
gareppa has joined #lisp
oxum has joined #lisp
gareppa has quit [Read error: Connection reset by peer]
IPmonger has joined #lisp
oxum has quit [Ping timeout: 256 seconds]
Blukunfando has joined #lisp
<ldb>
I think I need a stable ML dialect with extensible surface grammar
hendursa1 has quit [Remote host closed the connection]
nullman has quit [Remote host closed the connection]
nullman has joined #lisp
hendursa1 has joined #lisp
|3b|` has joined #lisp
ljavorsk has joined #lisp
ldb has quit [Remote host closed the connection]
ldb has joined #lisp
|3b| has quit [Ping timeout: 258 seconds]
FreeBirdLjj has joined #lisp
kiroul has joined #lisp
aartaka_d has quit [Ping timeout: 264 seconds]
Bike has joined #lisp
<easye>
dim: with abcl-1.8.0 able to address FASLs in "ueberjars", I think packaging a complete pgloader.jar is very doable. I'll see what I can scratch together as a POC when I find some cycles.
<easye>
err "complete standalone pgloader.jar"
loli has quit [Quit: WeeChat 2.9]
<phoe>
look, pgloader is a java application
loli has joined #lisp
Fare has joined #lisp
pi1 has joined #lisp
pi1 is now known as ariedro
hendursa1 has quit [Quit: hendursa1]
hendursaga has joined #lisp
saganman is now known as blackadder
mmohammadi9812 has quit [Quit: Quit]
Josh_2 has joined #lisp
shifty has joined #lisp
Alloc has quit [Ping timeout: 240 seconds]
<Josh_2>
Good afternoon
sjl_ has joined #lisp
dbotton_ has joined #lisp
gareppa has quit [Quit: Leaving]
scymtym has quit [Ping timeout: 256 seconds]
dbotton has quit [Ping timeout: 240 seconds]
mmohammadi9812 has joined #lisp
dbotton_ has quit [Ping timeout: 264 seconds]
asdflkjh has joined #lisp
ldb has quit [Ping timeout: 240 seconds]
shifty has quit [Ping timeout: 264 seconds]
shifty has joined #lisp
shifty has quit [Ping timeout: 246 seconds]
jxy has joined #lisp
rpg has joined #lisp
scymtym has joined #lisp
jonatack has joined #lisp
mmohammadi9812 has quit [Ping timeout: 272 seconds]
random-nick has quit [Quit: quit]
random-nick has joined #lisp
emys has joined #lisp
mmohammadi9812 has joined #lisp
sjl_ has quit [Quit: WeeChat 2.3-dev]
acolarh has joined #lisp
Alloc has joined #lisp
the-smug-one has joined #lisp
<phoe>
hey Josh_2
<phoe>
Dear #lisp, I'd like to get some feedback on a presentation that I'll present to W3C on 30th November (not today, as I thought). I'll likely want to turn this presentation into an Online Lisp Meeting next week
<phoe>
the slides should be mostly self-explanatory, except for some terms in the last slides of the main slide deck that are WASM-specific
<Xach>
phoe: the stack diagram sequence is a little sparse (the stacked rectangles of calls) - i assume detail will be provided by your script?
<scymtym>
phoe: since the presentation is rather long, maybe add an agenda slide before or after introducing yourself
<Xach>
(i haven't gotten very far)
<dim>
it's a lot of material! how much time do you have?
<phoe>
Xach: which slide number?
<phoe>
dim: 35 minutes that I will try to extend to an hour
<dim>
wow, good luck with that ;-)
<phoe>
scymtym: I'll do that, yes
<Xach>
phoe: 16
<dim>
it might be that you're diving a little too much in some of the control flow operators of Common Lisp, given your audience there?
<phoe>
Xach: yes, that's in my script
<phoe>
dim: I am diving into the control flow operators because the whole idea is to describe these control flow operators
<phoe>
so they can be taken into account while standardizing wasm
<dim>
oh my understanding was that the topic is a generalisation of exceptions such as with conditions
<_death>
indeed, you should think about slides/s
<dim>
then it makes more sense, and maybe the intro could be reviewed to make your goal/point more obvious?
<phoe>
dim: actually the title slide, I think, describes my idea
EvW has quit [Ping timeout: 264 seconds]
<phoe>
I am talking about control flow and why "exception handling in Common Lisp" or even "condition system in Common Lisp" are false flags from the low-level perspective
<phoe>
s/false flags/red herrings/
<phoe>
in CL, we don't need exception handling, we need good flow control so we can properly implement a condition system
<phoe>
that's what I hope to convey through this meeting
oxum has quit [Remote host closed the connection]
<dim>
(it's like with young kids that aren't that interested in the topic, you need to make the intro, explain the why and the how, and make all the points, and when you think it's a wow, you put a big wow on the slide, red and all)
<phoe>
dim: hmmmm
<phoe>
yes, I will certainly add an agenda section
<dim>
your title could be “why you don't need exceptions in the core language” or “how to best implement exceptions from pieces” or something like that
oxum has joined #lisp
<dim>
(from my understanding of what you just said here, so with a serious grain of salt)
igemnace has quit [Remote host closed the connection]
mokulus has quit [Ping timeout: 268 seconds]
<phoe>
dim: yes; the title is already established though so I don't want to change it too much
<phoe>
I'll see if it can be changed though
toorevitimirp has quit [Ping timeout: 268 seconds]
toorevitimirp has joined #lisp
frgo_ has joined #lisp
<_death>
maybe it's just me, but I don't understand the point of having lots of "transition" slides.. I guess there may be cases where it makes sense to have a short (say 2 or 3) sequence of slides that look similar but have information added/deleted, but otherwise it just obscures the content and kind of distracting during the presentation
<phoe>
_death: I like this semi-animation especially when the talk is recorded - at least for me, it informs me whenever a part of the slide has changed and that it is the part that I should pay attention to
frgo has quit [Ping timeout: 260 seconds]
the-smug-one has quit [Ping timeout: 260 seconds]
space_otter has quit [Remote host closed the connection]
<_death>
it's like sending bits over a serial connection, where I the aim of each (complete) slide is to present a byte.. maybe easy if you have no/tiny buffer, but makes it more difficult to see the whole
<phoe>
I'm later going to compress the slide deck into a separate, no-animation version for printing out or something - if that is what you mean
<dim>
I did a demo the other day in our team meeting here, with people from several locations joining, and they could not see what I was typing until I did hit RET and then the command was scrolled out of the terminal's view and replaced by the output ; so you might want to make sure that people will see the transitions given network delays and things
<_death>
I see
<phoe>
this part is for showing on the screen
<phoe>
I find it better to update just a part of the screen each time rather than do multiple big repaints
<Josh_2>
Have to say I agree with _death
<phoe>
oh, just so I'm aware - you are not scrolling the slides up/down, are you?
<phoe>
these are supposed to be travelled left/right, full slide changes each time
<_death>
I'm not talking about scrolling :)
<phoe>
whew, OK
<scymtym>
phoe: i think the best way forward is recording a practice presentation. that way you will know how long it takes and you can get feedback from people here based on the intended presentation of the slides
<Josh_2>
displaying information that is important is a yes from me, but I don't think it is necessary at the start
<phoe>
scymtym: ...so, a test-drive Online Lisp Meeting?
<Josh_2>
incrementally displaying information*
<_death>
online peanut gallery
<scymtym>
phoe: i don't think there is a need to schedule a session for the practice run. you could just pass out a link and ask for feedback
<phoe>
yes
<phoe>
I'll try doing that
oxum has quit [Quit: Leaving...]
miasuji has joined #lisp
matzy_ has joined #lisp
yottabyte has joined #lisp
hnOsmium0001 has joined #lisp
hiroaki has quit [Ping timeout: 268 seconds]
emys has quit [Ping timeout: 264 seconds]
<phoe>
OK, I can extend the talk to 50 minutes if necessary
emys has joined #lisp
toorevitimirp has quit [Remote host closed the connection]
hiroaki has joined #lisp
rixard_ has joined #lisp
rixard has quit [Read error: Connection reset by peer]
<dbotton__>
phoe 188 slides means 3 a minute for an hour
<dbotton__>
is the material for slides or as an accmopanying future reference?
nullman has quit [Ping timeout: 264 seconds]
shifty has joined #lisp
the-smug-one has joined #lisp
Cymew has quit [Ping timeout: 268 seconds]
<dbotton__>
(I was not being snarky was honest question) - It seems that you may want to approach things as top down, meaning give your puch lines as to what is learned from Lisp first and then build up how it works.
miasuji has quit [Ping timeout: 264 seconds]
<phoe>
hm
<ck_>
I think a lot of it is really a single slide, but incrementally updated. But I second the opinion that it is a lot -- didn't know the planned time frame before.
<phoe>
I am now thinking of splitting this into a pair of 35min talks
<phoe>
one being how conditions and exceptions are different
<phoe>
the other, how conditions are a derivative of primitive control flow operators
<dbotton__>
I think you need to show your audience why they need to listen
<dbotton__>
at the start
<dbotton__>
Lips is bottom up, these are top down people :)
<dbotton__>
Lisp
emys has quit [Ping timeout: 260 seconds]
<dbotton__>
but I see what you mean in terms of slide parts
<dbotton__>
for example I found handle-case and then thinking backwards to handle bind worked better for my experience in other languages
<phoe>
actually I am not explaining how handler-case works in detail
<dbotton__>
understood, I meant top down vs bottom up
<dbotton__>
the idea is just show them how this is similar then how different and what it means to them from the start
<dbotton__>
then drill to details
<dbotton__>
(I hope I am being clear bit rushed this morning)
emys has joined #lisp
<phoe>
yes, I see
<phoe>
I will think about it
cosimone has joined #lisp
EvW has joined #lisp
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
dbotton__ has quit [Quit: Leaving]
dbotton has joined #lisp
rusua has joined #lisp
mokulus has joined #lisp
dbotton_ has joined #lisp
jlarocco has joined #lisp
dbotton has quit [Ping timeout: 264 seconds]
jprajzne has quit [Quit: jprajzne]
shifty has quit [Ping timeout: 260 seconds]
Jesin has quit [Quit: Leaving]
hiroaki has quit [Ping timeout: 268 seconds]
liberliver has quit [Quit: liberliver]
dbotton has joined #lisp
Alloc has quit [Read error: Connection reset by peer]
Alloc has joined #lisp
dbotton_ has quit [Ping timeout: 260 seconds]
actuallybatman has quit [Ping timeout: 264 seconds]
ljavorsk has quit [Ping timeout: 272 seconds]
actuallybatman has joined #lisp
ex_nihilo has quit [Ping timeout: 264 seconds]
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
ex_nihilo has joined #lisp
flazh has quit [Ping timeout: 240 seconds]
cosimone has quit [Remote host closed the connection]
rippa has joined #lisp
flazh has joined #lisp
Jesin has joined #lisp
tamarindo has joined #lisp
orivej has joined #lisp
cosimone has joined #lisp
cosimone has quit [Quit: cosimone]
mathrick has quit [Remote host closed the connection]
mathrick has joined #lisp
mathrick has quit [Read error: Connection reset by peer]
mathrick has joined #lisp
Alloc has quit [Remote host closed the connection]
Alloc has joined #lisp
flow has joined #lisp
actuallybatman has quit [Quit: leaving]
Fare has quit [Ping timeout: 260 seconds]
Fare has joined #lisp
rumbler31 has quit [Remote host closed the connection]
rumbler31 has joined #lisp
tamarindo has quit [Ping timeout: 240 seconds]
rumbler31___ has quit [Ping timeout: 240 seconds]
rumbler31 has quit [Ping timeout: 264 seconds]
emacsomancer has quit [Read error: Connection reset by peer]
emacsomancer has joined #lisp
elosant has joined #lisp
tamarindo has joined #lisp
skapata has joined #lisp
mokulus has quit [Ping timeout: 258 seconds]
elosant has quit [Quit: WeeChat 2.9]
bitmapper has quit [Quit: Connection closed for inactivity]
flow has left #lisp ["ERC (IRC client for Emacs 27.1)"]
notzmv has quit [Ping timeout: 240 seconds]
notzmv has joined #lisp
enrio has joined #lisp
tamarindo has quit [Ping timeout: 240 seconds]
tamarindo has joined #lisp
enrio has quit [Ping timeout: 260 seconds]
dbotton_ has joined #lisp
Nilby has joined #lisp
blackadder has quit [Ping timeout: 264 seconds]
zaquest has quit [Ping timeout: 260 seconds]
dbotton has quit [Ping timeout: 268 seconds]
wsinatra has quit [Ping timeout: 258 seconds]
zaquest has joined #lisp
frgo_ is now known as frgo
Fare has quit [Ping timeout: 260 seconds]
tamarindo has quit [Ping timeout: 240 seconds]
tamarindo has joined #lisp
Aurora_v_kosmose has quit [Ping timeout: 240 seconds]
|3b|` has quit [Remote host closed the connection]
|3b| has joined #lisp
Xach has quit [Read error: Connection reset by peer]
Aurora_v_kosmose has joined #lisp
_jrjsmrtn has quit [Ping timeout: 272 seconds]
<sm2n>
in sbcl, if I (make-array '(5) :element-type '(integer 0 2)), the element-type gets upgraded to '(unsigned-byte 2) and I am able to set 3 as an element, shouldn't this error out?
<sm2n>
Additionally, does anyone know how sub-byte arrays are represented internally?
<scymtym>
the array object only has the upgrade array type, not the argument passed to MAKE-ARRAY. on the other hand, if you declare the type of a variable the value of which is an array, the implementation might check more precisely
<Bike>
internally, sbcl packs sub byte arrays into words.
IPmonger has quit [Ping timeout: 258 seconds]
astronavt has joined #lisp
aartaka has joined #lisp
<Bike>
then they can be extracted by the obvious bitwise operations, hence the upgrading
IPmonger has joined #lisp
wsinatra has joined #lisp
<sm2n>
scymtym, Bike: thanks
<Bike>
minor point on top of what scymtym said: if you DECLARE the type of an array, the implementation is allowed ot use the un-upgraded type. i don't know if sbcl or other implementations actually do, though
<Alfr>
sm2n, also (unsigned-byte 2) are the integers 0..3 .
<Bike>
yeah but their original unupgraded type doesn't include 3.
<sm2n>
huh, that's neat
<Alfr>
Ah ... yes, that as well. :)
<Alfr>
Bike, since he mentioned the upgraded type, I thought only (u-b 2) was the confusing part.
<sm2n>
yeah I could have worded that better
IPmonger has quit [Ping timeout: 264 seconds]
<Nilby>
I am thankful that sbcl seems to wisely take the middle ground between efficiency and strict checking, since one can always optionally implement stricter type checking. It actually somehow usually achieves both stricter checking and higher efficiency than other implementations.
buoy49 has quit [Ping timeout: 240 seconds]
<Nilby>
I'm even more thankful that the CL designers allowed for that.
Fare has joined #lisp
<cl-arthur>
I like that SBCL gives useful error messages when trying to use struct accessors on the wrong things
buoy49 has joined #lisp
rusua has quit [Read error: Connection reset by peer]
alanz has quit [Ping timeout: 268 seconds]
rusua has joined #lisp
<Alfr>
Nilby, just don't depend on it, someone might come up with an implementation in which upgraded and expressed array element types are the same.
alanz has joined #lisp
<Alfr>
Nilby, or check for the actual type before use. :)
<Nilby>
Alfr: I try not too, because I actually try to run on such implementations.
<Nilby>
But sadly sbcl allows me to write code that is very slow on other Lisps.
<Nilby>
We, "sadly" for those other Lisps and/or my portablity and programming style.
<Alfr>
Nilby, conforming and fast ... Sounds like a challenge.
<Alfr>
Nilby, sometimes I take the #+ route for that or just don't care about efficiency unless a profiler says otherwise.
Xach has joined #lisp
wsinatra has quit [Ping timeout: 240 seconds]
<Nilby>
Even thought I hadn't read Krystof's paper on it until yesterday, I stil tried to avoid #+
<jdz>
phoe: I'd suggest using ≠ instead of /=.
wsinatra has joined #lisp
aartaka has quit [Ping timeout: 268 seconds]
<jdz>
phoe: When saying "Control flow ≠ exception handling".
hiroaki has joined #lisp
aartaka has joined #lisp
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
<Alfr>
Nilby, don't know the paper. But I don't know of a neat and more concise method to select code depending on the implementation.
<Nilby>
I say I try to avoid it, but I've apparently failed about 1800 times according to search.
<Nilby>
and stil my code is unacceptably slow on non-sbcl
narimiran has quit [Ping timeout: 260 seconds]
emys has quit [Ping timeout: 256 seconds]
scymtym has quit [Ping timeout: 240 seconds]
shka_ has quit [Ping timeout: 264 seconds]
astronavt has quit [Quit: Leaving]
mbomba has joined #lisp
niceplaces has quit [Ping timeout: 272 seconds]
iissaacc has joined #lisp
niceplace has joined #lisp
iissaacc has quit [Ping timeout: 264 seconds]
hiroaki has quit [Ping timeout: 264 seconds]
EvW has quit [Ping timeout: 268 seconds]
asdflkjh is now known as _-_
_-_ is now known as _____
_____ is now known as ______________
______________ is now known as _
_ is now known as ___
___ is now known as Guest35201
reggie_ has joined #lisp
aartaka has quit [Ping timeout: 260 seconds]
tiwEllien has quit [Ping timeout: 258 seconds]
Guest35201 has quit [Ping timeout: 260 seconds]
ex_nihilo has quit [Ping timeout: 264 seconds]
the-smug-one has quit [Ping timeout: 272 seconds]
scymtym has joined #lisp
kaftejiman has joined #lisp
hiroaki has joined #lisp
hiroaki has quit [Remote host closed the connection]
hiroaki has joined #lisp
EvW has joined #lisp
<phoe>
jdz: OK
ex_nihilo has joined #lisp
krjst has quit [Quit: bye]
MichaelRaskin has joined #lisp
krjst has joined #lisp
rusua has quit [Quit: Connection closed for inactivity]
Gerula has quit [Remote host closed the connection]
Fare has quit [Ping timeout: 264 seconds]
Gerula has joined #lisp
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
amb007 has quit [Ping timeout: 240 seconds]
mbomba has quit [Ping timeout: 260 seconds]
fujiitan has quit [Quit: WeeChat 2.3]
noguchichan has joined #lisp
<mfiano>
Alfr: If you are concerned about muddying up your implementation code with #+, one can always design a protocol and tell ASDF to load the implementation for that protocol according to the implementation, like (:file "foo" :if-feature (:or :mezzano :abcl))
flazh has quit [Ping timeout: 260 seconds]
<mfiano>
according to the CL implementation that is, the above use of "implementation" was in regard to implementing your protocol
iissaacc has joined #lisp
astronavt has joined #lisp
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
<Alfr>
mfiano, I don't have that many places where I decided to use it currently. But good to know that asdf can also handle it. Thanks. :)