jackdaniel changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | offtopic --> #lispcafe
<White_Flame> and the comma is just an escape from the quoting, regardless if it's an arg or not
<White_Flame> (let ((a 3)) `(1 a ,a)) => (1 A 3)
dxtr has quit [Remote host closed the connection]
<matta_> Yep, makes sense. I'm new to common lisp -- all my lisp experience is Emacs Lisp, where I learned only the minimum to get by. I'm not yet at the point where ,#'cons jumps out as probably wrong.
<White_Flame> no problem. Also there's #clschool which focuses on beginner questions
<matta_> oh, I'll check that out.
<White_Flame> helpful if this place is busier, as such questions could get lost here
cosimone has quit [Ping timeout: 246 seconds]
tisskenzen has joined #lisp
fitzsim has joined #lisp
jpli has quit [Remote host closed the connection]
jpli has joined #lisp
jeosol has quit [Remote host closed the connection]
tisskenzen has left #lisp [#lisp]
Oladon has quit [Quit: Leaving.]
Fare has quit [Ping timeout: 260 seconds]
bendersteed has quit [Remote host closed the connection]
wsinatra has quit [Quit: WeeChat 3.0]
jpli has quit [Ping timeout: 272 seconds]
scymtym has quit [Read error: Connection reset by peer]
jpli has joined #lisp
scymtym has joined #lisp
shifty has quit [Ping timeout: 258 seconds]
Fare has joined #lisp
jpli has quit [Quit: No Ping reply in 180 seconds.]
jpli has joined #lisp
cosimone has joined #lisp
_heisig has joined #lisp
cosimone has quit [Quit: cosimone]
amerigo has quit [Quit: Connection closed for inactivity]
nij has joined #lisp
<nij> Hello! I started writing a little cl script two days ago. It has been fun :D
<nij> I wouldn't call it a project, but it has evolved to ~150 lines, and started to get messy..
<nij> How would you repackage it? Should I make it a full fledge cl package?
lucasb has quit [Quit: Connection closed for inactivity]
rpg has quit [Quit: Textual IRC Client: www.textualapp.com]
zcheng3 has quit [Ping timeout: 260 seconds]
wxie has joined #lisp
Blukunfando has joined #lisp
jeosol has joined #lisp
nij has quit [Quit: ERC (IRC client for Emacs 27.1)]
rumbler31 has joined #lisp
EvW has quit [Ping timeout: 264 seconds]
Krystof has quit [Ping timeout: 260 seconds]
Lord_of_Life has joined #lisp
Josh_2 has quit [Ping timeout: 256 seconds]
_heisig has quit [Quit: Leaving]
Lord_of_Life_ has quit [Ping timeout: 258 seconds]
orivej has quit [Ping timeout: 258 seconds]
akoana has joined #lisp
surabax has quit [Quit: Leaving]
<lotuseater> hm now nij is out, i would've told him about cl-launch
tempest_nox has joined #lisp
judson_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
semz has quit [Ping timeout: 260 seconds]
judson_ has joined #lisp
semz has joined #lisp
semz has quit [Changing host]
semz has joined #lisp
ldbeth has joined #lisp
<ldbeth> good morning
Stanley00 has joined #lisp
aeth has quit [Ping timeout: 260 seconds]
aeth has joined #lisp
wsinatra has joined #lisp
wsinatra has quit [Client Quit]
Oladon has joined #lisp
mbomba has quit [Quit: WeeChat 3.0]
ldbeth` has joined #lisp
rumbler31 has quit [Remote host closed the connection]
ldbeth has quit [Ping timeout: 272 seconds]
urek has quit [Ping timeout: 272 seconds]
aartaka has joined #lisp
ldbeth`` has joined #lisp
sookablyat has quit [Remote host closed the connection]
ldbeth` has quit [Ping timeout: 260 seconds]
ldbeth`` has quit [Ping timeout: 240 seconds]
Hexstream has joined #lisp
<Hexstream> Please support the Common Lisp Revival 2020 Fundraiser!!! https://github.com/sponsors/Hexstream (Deadline is 10 december 2020 inclusive!)
<Hexstream> Also see this hilarious thread: https://github.com/Hexstream/sponsors.hexstreamsoft.com/issues/1
<oni-on-ion> hi hex. im the dude with the confusing email. sorry for the bother and thx for the response. but i may be continuing with ocaml instead, professionally. cl in sidelines
<Hexstream> Alright, no problem.
mason has quit [Quit: leaving]
mason has joined #lisp
ldbeth`` has joined #lisp
ldbeth`` has quit [Ping timeout: 260 seconds]
aartaka has quit [Read error: Connection reset by peer]
aartaka_d has joined #lisp
<no-defun-allowed> Hexstream: can I have money for CLOSOS
Bike has quit [Quit: leaving]
Alfr has joined #lisp
Alfr_ has quit [Ping timeout: 260 seconds]
Oladon has quit [Quit: Leaving.]
Oladon has joined #lisp
Iolo has quit [Quit: ZNC 1.7.5+deb4 - https://znc.in]
<Fare> Hexstream, I love you, and thanks for reminding me that I'm not the most autistic programmer around.
<Hexstream> Hahaha! Thank you!
<Fare> But I fear your mental model of other people and how economics works is even wronger than mine.
<Hexstream> That may be.
<Fare> I'm all in in my startup right now, and don't have time (or money) at all for CL (indeed, I jumped ship to Gerbil).
<Fare> But I hope you're successful.
<Fare> (Though I suspect it will take a change in attitude)
<Hexstream> Thank you! What an endorsement!!
<Hexstream> I'm hoping to help bring the Common Lisp community to a dignified state worthy of your presence. ;)
Iolo has joined #lisp
<jeosol> Fare: Hard to catch you here I guess, perhaps time zone
<jeosol> Fare: the startup is also Gerbil powered?
phoe6_ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
<beach> Good morning everyone!
<Hexstream> Wazzup! Long time no see!
<lotuseater> good morning beach :)
<jeosol> Good morning beach
shifty has joined #lisp
Oladon has quit [Read error: Connection reset by peer]
<Hexstream> beach: By the way, there seems to have been a pretty unfortunate misunderstanding. I asked if you wanted to redirect your old CLOS MOP spec version to mine in large part to relieve you of the burden of continuing to maintain your older version, which some (presumably also yourself at the time) may now consider to be obsolete.
Oladon has joined #lisp
<Hexstream> Let's just say I have seen some pretty hilarious misinterpretations or misrepresentations of my reasonable offer.
wxie has quit [Ping timeout: 240 seconds]
mbomba has joined #lisp
chkhd has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<Fare> jeosol, yes, the startup is Gerbil powered... see channel #gerbil-scheme for more discussions, I suppose.
<beach> Hexstream: I see. Not important anymore.
<Hexstream> Fare: I would need to see your list of "conditions" for you to return to Common Lisp, sometime. In fact, I would need to see that for everyone who left Common Lisp, basically.
<Fare> Hexstream, everyone has different conditions.
<Hexstream> beach: If it's important to you, that's enough for me. I'm not sure it should still be the "default", though.
<Fare> I suppose that the community being unable and/or unwilling to evolve the base language is a big limitation.
<Hexstream> Fare: Exactly, I want to help the most important ones globally.
<aeth> Everyone has different conditions, but there's only one Common Lisp condition system.
<Fare> CL is great, but a better language would introduce simplifications, with a backward-compatible upgrade path. And that's not going to happen.
<Fare> The "community" is mainly made of lone wolves. I'm not going to cast stone at the other lone wolves, but that's it.
<Fare> People with high tolerance for accumulated cruft, low tolerance to the costs of switching, low need for interaction, and often poor skills at interaction.
<Fare> a lot of superproductive people, but with low synergy.
<Fare> Nothing that you can help with by yourself, or anyone.
<Fare> Bringing newbies to cl packages and pathnames and systems and case-converting symbols and high impedance mismatch to the underlying Unix or Windows OS? Why would you do that?
<Fare> And if there are no newbies, it's the same old wolves.
<Hexstream> Well, I do have a big first step on my roadmap for enabling us to evolve the language. https://roadmap.hexstreamsoft.com/far/#public-domain-spiritual-successor-to-the-clhs
srandon111 has joined #lisp
<fengshaun> is there a library which can parse a datetime string with an alternative timezone? neither local-time nor cl-date-time-parser allow me to specify an alternate timezone when parsing datetime strings
<fengshaun> they just assume everything is in my local timezone
<fengshaun> All times I have are in UTC, but it's not specified in the timestring
<oni-on-ion> i can make a very succinct list.
spongiforma has joined #lisp
<edgar-rft> fengshaun: you're probably looking for this -> https://common-lisp.net/project/local-time/
<White_Flame> you could append the zone to the timestring before decode?
<oni-on-ion> but to top the list of Pros: would be the community. i can get help or help others with CL a lot quicker and more often than most other "medium-popular" platforms. which are generally mailing list, web forums, in person in academic setting, or simply overpopulated.
scrungyforma has joined #lisp
<fengshaun> edgar-rft, I already have, even manually set *default-timezone* to +utc-zone+ to no avail
Gigolosu has joined #lisp
<fengshaun> White_Flame, I guess I could, but then formatting is going to be messed up if someone happens to have appended the timezone
<White_Flame> yep, was going to mention, but it is fairly obviuos
<fengshaun> ideally I'd want timezone from the timestring, but if not present, then use the timezone I specify
<Hexstream> Fare: Frankly, we could make Common Lisp even more powerful with just a few simple changes. This way, each lone wolf could do even more alone. ;P
<Hexstream> ((foo bar) baz) == (funcall (foo bar) baz) would really rock...
scrungyforma has quit [Client Quit]
Gigolosu has quit [Client Quit]
<no-defun-allowed> Is it really that bothersome to type funcall?
<oni-on-ion> is this like CL21 ? if its again another lone-wolf project, how can it go anywhere beyond dreamland ?
spongiforma has quit [Client Quit]
<fengshaun> I could copy-paste the parse-timestring code into my own project and modify it though
spongiforma has joined #lisp
<Hexstream> no-defun-allowed: Actually, yes. Although, much less bothersome than lisp-1.
<oni-on-ion> CL is a big project by many many groups and individuals and also time. current hardcore common-lispers are maybe around 50 total worldwide ?
<no-defun-allowed> Well, if there were reasons for adoption other than "cause the 'modern' programming languages do that and we want to look like them", then it may be worthwhile to put such modifications in a CLtL3.
<no-defun-allowed> Hexstream: I see.
<Hexstream> Speaking of which, it would be great if we had package-local symbol aliases, so we could import FUNCALL as CALL and stuff.
<White_Flame> I've seen a number of function call chaining macros
<Hexstream> As a bonus, it would make reading and printing even slower!
waleee-cl has quit [Quit: Connection closed for inactivity]
<White_Flame> Hexstream: that already exists
<White_Flame> oh wait, package aliasing, not symbol, n/m
<no-defun-allowed> What would the symbol-name of CALL be?
<Hexstream> FUNCALL?
<Hexstream> If you use an alias, I mean.
narimiran has joined #lisp
<Hexstream> It would be really great to be able to subclass ARRAY, PACKAGE, etc.
<oni-on-ion> well there was a nice article about Lisp1 v. Lisp2 and all the many reasons for both sides. can't find it now, ironically
<oni-on-ion> packages should be in a tree
<no-defun-allowed> I can see why custom packages would be nice (I mostly want weak symbols, to be fair), but custom arrays and numeric types would get screwy with compiler optimisations, unless you start to over-specify types to get fast code, in which case you've kinda gained nothing.
<oni-on-ion> root package: cl-user, keyword, etc; then symbols value can be package. idk if that is appropriate
<Fare> Hexstream, but who is the target audience? And if you make changes to the language, what implementations will follow you?
<Hexstream> I have many ideas for what I call "supercharged lisp-2", which would be like lisp-2 but with most of the advantages of lisp-1.
<Fare> Especially if it's non-trivial changes. Or even simple changes, but with slightly different options than their legacy code relies on.
<Fare> Things like first-class continuations? And how they interact with special variables?
<oni-on-ion> it feels like CL21 but i dont know much about that. but there is an important fact here Hexstream : most of the great Schemes today (of which there are many more than CL implementations) have started as a "Better CL" -- and ended up scheme'd. perhaps start there first or find a meeting point half-way.
<Fare> Or even just threads and special variables.
aartaka has joined #lisp
<no-defun-allowed> Oh, I also want green threads, so that "asynchronous" code doesn't look stupid.
<Fare> Or even just standardizing the corner cases of the pathname spec
mbomba has quit [Quit: WeeChat 3.0]
<Fare> no-defun-allowed, welcome to Gambit.
<oni-on-ion> or Guile or Chicken =)
<White_Flame> right, CL isn't a language you can easily tweak at the fundamental feature level. More standard libraries would be nice, but QL is standard enough to allow any user to have the dependencies
<no-defun-allowed> Fare: I mean, I'll take the rest of Common Lisp, but dammit I want nice socket code.
<Fare> Or the ability to create symbol "aliases"
<no-defun-allowed> And given that most of Common Lisp code has assumed synchronous/blocking sockets, it's difficult to use callback-based sockets with that code. Not so much for green threads; you could write blocking code like a normal person, and have an asynchronous backend.
<Fare> Or to split the compiler from the rest of the system (yet pull it when needed?) (but not needed in surprising ways such as regular CLOS method evaluation)
<oni-on-ion> so far Guile and Chicken have nearly all i'd want in a Lisp
<Fare> I admit I didn't shop too much for a Scheme. I wanted Racket, or another Scheme with a good module system. Only Gerbil had it.
<no-defun-allowed> I find myself using the compiler far too much to dispose of it.
<oni-on-ion> no-defun-allowed, what we need is a feature to write code in Layers. so instead of (do-thing-1 ..) (do-thing-2 ..) for asynchronicity, they would be on the same line of code. like a Z layer in source files.
<Fare> no-defun-allowed, I want to be able to deliver lean code.
<Fare> Gambit allows that, for instance.
<oni-on-ion> Chicken eggs have made me happy : but its the syntax changes there which are a huge boon for my useage.
aartaka_d has quit [Ping timeout: 258 seconds]
<Fare> oni-on-ion, what kind of changes?
<no-defun-allowed> When/if I make a native compiler for Netfarm, I will consider writing a presentation for the online Lisp meetings about compiling to Common Lisp.
<White_Flame> oni-on-ion: layers would lead you to Befunge
<no-defun-allowed> Since I've written approximately two of those (one chip-8 compiler, and one regular expression compiler).
<no-defun-allowed> oni-on-ion: No, we just need asynchronous code to look like synchronous code, and for them to interoperate.
<oni-on-ion> Fare, support for both ":keyword" and "keyword:" (coming from smalltalk/obj-c/english) , and also able to mix up any type of parens -- () [] {} <> depending on one's purpose. i am a visual coder, and Common Lisp is a bit too much like reading Prose to be efficient
<oni-on-ion> no-defun-allowed, dunno. Ocaml and Julia both can do "automatic vectorising" given the data and algorithm are reasonable
<Fare> Hexstream, I believe the issues with CL are, ultimately, social, and that CL attracts precisely socially inept people (me included) who are incapable of navigating those precise issues.
<Hexstream> Fare: First, you definitely need your own Common Lisp implementation to lead the changes, and then you specify opt-in switches that can be activated to make certain changes to the language. Legacy code just doesn't activate any switches...
<oni-on-ion> White_Flame, heh, well with say a shift+mousewheel to zoom in/out. so there is an active layer, and ones below and above. a bit like onion skinning used in animation
<no-defun-allowed> oni-on-ion: Is that related to hiding the continuation?
<Fare> Hexstream, so now you're going to reimplement CL, too?
<no-defun-allowed> {-# LANGUAGE Welcome to GHC #-}
thmprover has joined #lisp
thmprover has quit [Client Quit]
<oni-on-ion> no-defun-allowed, not sure. but in the links i sent forth yesterday on the ocaml multicore work, it says stuff that sounds quite great
<no-defun-allowed> Fare: I want to modify SICL to use m:n green threads, and I sort of have a plan to do that. But you could get away with modifying only the stuff above HIR to make language changes.
<Hexstream> Fare: Well, a fork of SBCL would be sufficient, but Common Lisp on Cloudflare Workers (WebAssembly) would just kill everything. https://workers.cloudflare.com/ Even fucking Haskell is on Cloudflare Workers!!
<oni-on-ion> before that i think CL needs to be able to do multiple images. prolog/erlang naturally do the green threading easily because of this "VM". oh and now there is ocaml for BEAM...
<no-defun-allowed> No fucking way I'm ever putting anything on CloudFlare.
<oni-on-ion> sounds like Geocities or MegaUpload
<lotuseater> oh didn't knew OCaml runs now on BEAM too
<no-defun-allowed> How do they compile reference cells?
<oni-on-ion> ocaml is coming up /fast/ -- theres a software foundation now just created, too
<Hexstream> no-defun-allowed: Why not? I have everything on Cloudflare. 25+ subdomains across 4 main websites.
<Hexstream> Around 10% of the web is behind Cloudflare...
<no-defun-allowed> Hexstream: Well, they screw with people using Tor and centralises everything. A friend wrote about that in https://write.pixie.town/thufie/dont-trust-cloudflare
<no-defun-allowed> But you appear to love centralisation, so that wouldn't convince you of anything.
<Hexstream> They have native support for Tor these days, I seem to remember.
<lotuseater> ah nice, thx oni-on-ion :) and i already tried LFE on BEAM too
<oni-on-ion> lotuseater, cool, same here =) not elixir though, blech
jello_pudding has quit [Ping timeout: 264 seconds]
<no-defun-allowed> Furthermore, in its current state, WASM is a huge step back from compiling to machine code, insofaras it is difficult to implement Lisp control flow. (But phoe and ioa at least are trying to change that, so it's not all horrible.)
<Hexstream> no-defun-allowed: I don't have time to read that, but: https://blog.cloudflare.com/cloudflare-onion-service/
<loke[m]> oni-on-ion: I have used Elixir for one project that didn't really go anywhere. It did make me want to use it again though. I just wish I had a project to use it with. My main two projects now is Common Lisp and Kotlin.
<Hexstream> no-defun-allowed: I do love centralization, in fact I want to move my origin from DigitalOcean to Cloudflare Workers.
<no-defun-allowed> Disgusting.
<oni-on-ion> loke[m], cool. for BEAM i did mainly pure Erlang. i rather enjoyed it=)
<Hexstream> Cloudflare is eating the world! Deal with it. 😎
<lotuseater> ongoing centralization is programmed death of the web
<oni-on-ion> meanwhile IRC
<no-defun-allowed> I will deal with it, and I will deal with it promptly, should my own plans for 2021 transfer into reality.
<loke[m]> oni-on-ion: I wanted to enjoy Erlang, but it had some rough edges. Also, the Emacs development environment for it had bugs and was unmaintained. Elixir is just more programmer-friendly, and the Emacs integration was nice.
jello_pudding has joined #lisp
<oni-on-ion> to be pendantic. are you guys talking about the world wide web? or the actual TCP/IP and IPvX network ?
<oni-on-ion> loke[m], yep. there are a couple large offerings for erlang+emacs but they seemed to have faltered briefly. afaik today they are fine (distel being one?)
<oni-on-ion> not sure, don't want to be off topic
<no-defun-allowed> TCP/IP is pretty good - the Internet was funded cause it was sufficiently fault tolerant (owing in part to decentralisation, and clever abstraction over routing).
<no-defun-allowed> But I abstract over that just to be sure.
<loke[m]> oni-on-ion: I see. I haven't investigated Erlang on Emacs for a few years now. I do feel that Elixir only adds to what makes Erlang nice, and there seems to be no drawbacks.
<oni-on-ion> the "WWW" aspect (interlinked http urls) is a whole other ball game. it is *mainly* an advertising platform. that's it. like a magazine. big sites are like television networks. then it makes more sense. websites suck.
yonkunas has quit [Quit: Connection closed for inactivity]
<oni-on-ion> loke[m], for me it is the syntax. i cannot stand begin,begin,begin [do something] end end end end end
<loke[m]> *no-defun-allowed*: Are you on this channel via Matrix? I can see "...in typing" messages from you :-)
<oni-on-ion> i can see open and closed brace/paren way more efficiently than reading prose
<no-defun-allowed> loke: Yes.
<loke[m]> *no-defun-allowed*: It works remarkably well, don't you think?
<oni-on-ion> (i am a visual coder and ocaml is hyper-fast to read. like C to me, easy to instantly see a page of code and know what is going on. with CL for eg it has to be "readed" and thats just not my brain)
<no-defun-allowed> loke: They disabled online/offline status markers on matrix.org because it was too performance-intensive. But I suppose typing notifications work.
<loke[m]> *no-defun-allowed*: Yeah, I was surprised to see it.
<oni-on-ion> yuck. so it turns into facebook
<no-defun-allowed> oni-on-ion: "it turns into Discord" would be more correct.
<loke[m]> I also like how it maps @-whatever to the typical IRC style with :.
<loke[m]> *no-defun-allowed*: it means that people on IRC will br griding their teeth when someone from Matrix joins.
<oni-on-ion> because Discord turned into facebook then ? "Typing... " and also "Seen msg" etc.
<loke[m]> "will _not_ be grinding their teeth"
jrm has quit [Quit: ciao]
Oladon has quit [Quit: Leaving.]
<no-defun-allowed> Interesting, when you ping me I still have earmuffs on my name. I don't have earmuffs on my IRC nick.
<loke[m]> I see. That's a discrepancy then.
<loke[m]> So the integration isn't perfect.
<oni-on-ion> speaking of, should check email now
<no-defun-allowed> It's surprisingly good, I only have to hop on irssi when matrix.org goes down.
akoana has left #lisp ["Leaving"]
<loke[m]> However, if you go the #apl channel, you'll see it's linked with the Stackoverflow chat. That integration is absolutely awful. There is a single user on the channel that relays messages from SO and vice versa.
wxie has joined #lisp
<lotuseater> so no-defun-allowed you're a parameter
<loke[m]> no-defun-allowed: Run your own server, that's what I do. :-)
<no-defun-allowed> I think some of the other bridges have less "hooks" into matrix.org, like they can't fabricate a user for each IRC user.
<loke[m]> That said, the bridge is probably running on the matrix.org machine, so it probably doesn't matter.
<no-defun-allowed> loke: I got bored enough of "run your own server" that I wrote a distributed object system, a manual for that object system, and then a nasty comment about it in the manual.
<loke[m]> I don't run many servers, for the Matrix one is nice.
<loke[m]> I want to set up my own Peertube and Pixelfed servers though, mainly as part of my project to degooglify myself.
<oni-on-ion> err so back to erlang. i rather enjoyed its syntax, same with most of prolog. would like to see that on BEAM
<no-defun-allowed> Nothing really personal, but federation is a bit stupid with one user per server.
jello_pudding has quit [Ping timeout: 264 seconds]
<no-defun-allowed> I'd rather have no central point of failure rather than own the central point of failure; the latter is too much work.
<loke[m]> no-defun-allowed: Well, sure. For more people definitely.
<no-defun-allowed> Well, the same goes for too many users per server. In my opinion, the sweet spot is 100-1000 users a server, but some people would say 10-100 is more appropriate.
<loke[m]> *no-defun-allowed*: Sure, but then you have to trust that single point of failure. Right now, for example, my videos are mainly on peertube.mastodon.host, but there are some issues there and I'm not sure I can rely on them staying up.
<loke[m]> *no-defun-allowed*: Which mastodon server are you on?
Hexstream has left #lisp [#lisp]
<no-defun-allowed> I am currently on eldritch.cafe, but I used to be on ponies.im (I still have a Matrix account there). Also, should we take it to #lispcafe?
<no-defun-allowed> lotuseater: Yes, when you bind *no-defun-allowed\* to a truthy generalised boolean, you cannot DEFUN, as you might expect from the name.
<no-defun-allowed> Matrix clients hate that name, and so does the IRC bridge; it didn't drop the escape \ to avoid italics.
<loke[m]> *no-defun-allowed*: are you able to join #lispcafe from Matrix? It required a registered nick.
<lotuseater> when using the freenode irc client earmuffs get things to bold
<loke[m]> I'm not sure you can do that via matrix?
<no-defun-allowed> Yes, you need to talk to talk to NickServ, and/or tell @appservice-irc:matrix.org to remember your password.
<loke[m]> lotuseater: that's neat, because that's what *the Matrix bridge* also does.
<loke[m]> Oh wait, it makes it italics. Horrible.
<no-defun-allowed> Sure you can, the former just requires sending a private message to @freenode_NickServ:matrix.org
<lotuseater> loke[m]: yes like in org mode, earmuffs for bold and slash for italics
<no-defun-allowed> Matrix uses Markdown, so one set of earmuffs or underscores is italic, and two sets are bold. Three are both.
<loke[m]> Horrible.
<loke[m]> Markdown is an absolutely awful syntax,.
<loke[m]> * Markdown is an absolutely awful syntax.
jrm has joined #lisp
<lotuseater> some may get the idea it's some kind of programming language
<loke[m]> The real issue is that the format is non-deterministic.
<loke[m]> I've come to really enjoy asciidoc.
terpri has quit [Ping timeout: 260 seconds]
terpri has joined #lisp
aartaka_d has joined #lisp
tessier has joined #lisp
tessier has joined #lisp
<no-defun-allowed> loke: Well, someone's bound to get annoyed if we keep talking about Matrix here. How about budget #lispcafe (#symbolics2:ponies.im) instead?
aartaka has quit [Ping timeout: 272 seconds]
terpri has quit [Ping timeout: 260 seconds]
zcheng3 has joined #lisp
<oni-on-ion> use YAML instead
frost-lab has joined #lisp
terpri has joined #lisp
jello_pudding has joined #lisp
<loke[m]> oni-on-ion: YAML for what? (I personally find YAML to be just as horrible as JSON (although, on different grounds).
<no-defun-allowed> I want nothing to do with data representations.
<oni-on-ion> instead of markdown. as just mentioned .
XachX has quit [Read error: Connection reset by peer]
drmeister has quit [Read error: Connection reset by peer]
drmeister has joined #lisp
XachX has joined #lisp
gzj has joined #lisp
aeth has quit [Ping timeout: 240 seconds]
<srandon111> guys what do you think about clojure ?
<srandon111> pros and cons ?
aeth has joined #lisp
<no-defun-allowed> cons: no CONS
<lotuseater> :D
<easye> no-defun-allowed: +1
<no-defun-allowed> pros: gets you hired maybe
<lotuseater> srandon111: by statistics one of the best paid languages
<srandon111> no-defun-allowed, and then? what's the disadvantage of not having cons?
<lotuseater> not CONSequent
<srandon111> lotuseater, i don't understand
judson_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<srandon111> lotuseater, i don't like the fact of having huge startup times
<srandon111> damn
<lotuseater> it's kind of a joke
<no-defun-allowed> srandon111: Well, it was a pun on the name of the CONS cell, which Clojure doesn't really expose. But you also lose out on object-oriented programming, which I think can in fact be made concurrent (eg actors).
<oni-on-ion> i had fun with clojure, its nice to work with. aside from the java errors/backtrace (which may be different now) and the startup times are abysmal
<lotuseater> yeah but startup time is mostly once, as for using emacs
<srandon111> lotuseater, i am into developing cli apps
<oni-on-ion> ClojureScript was alright too
<srandon111> and its startup time is making me want to learn common lisp
<oni-on-ion> CL startup time isnt the greatest either, but much better than Clojure
<lotuseater> yeah then first learn how everything fits together
<srandon111> because i like clojure and its ecosystem, but it does not seem friendly for the kind of cli apps i want to make
<srandon111> for example... i cannot wait 4 seconds to show the help of a ocmmand line app come on guys
<oni-on-ion> ^ zactly
<sgibber2018> Is it really that long? Why?
<no-defun-allowed> I think it has to do with the Java virtual machine, because ABCL also leaves you hanging for a while.
<sgibber2018> That was my guess, but I wanted to ask just to be sure
nkatte has quit [Remote host closed the connection]
<sgibber2018> The only LISP I've ever used is Scheme, if that counts.
<srandon111> sgibber2018, why it should not count?
<no-defun-allowed> oni-on-ion: I mean, I can start a SBCL image and start a few threads in 50ms, which is acceptable if you're not running it in a loop.
<srandon111> schemes downside is the lack of 3rd party stuff and lack of good documentation imho
<sgibber2018> srandon111: I assume it would, but that's how much of a non-expert I am.
<sgibber2018> I just found a Scheme textbook at the used book store one day and went through it and loved it. Since then I've been bummed I can't find a use for it.
<no-defun-allowed> And the other big con is that it's touted as "modern" and the community is a disaster for online discourse. But I digress.
scrungyforma has joined #lisp
<lotuseater> there are some good scheme native compilers
scrungyforma has quit [Client Quit]
spongiforma has quit [Ping timeout: 258 seconds]
<srandon111> no-defun-allowed, yes it's true
<srandon111> there is people who think that guile docs are good
<srandon111> damn there isn't half of an example in that doc
bitmapper has quit [Quit: Connection closed for inactivity]
<sgibber2018> The book I found at the store was by the guy who wrote chez scheme so that's the one I've always used for fiddling around. I have no idea what the relative merits of them are. Except that chicken is supposed to be pretty neat.
<no-defun-allowed> My favourite co-author and I have a bet that most of the "bags of unlabelled data" stuff would be better served with prototypes, and I can in fact model time quite well with CLOS. To some extent, the result looks, nay, is basically transactional OOP: https://gitlab.com/Theemacsshibe/cl-worlds
zcheng3 has quit [Ping timeout: 246 seconds]
<oni-on-ion> eh, on cold boot, SBCL took about 6 seconds but i am on regular HDD and quicklisp might have some stuff going on during load
<oni-on-ion> average now after its in recent cache, 0.635 second (635 ms?)
andreyorst has joined #lisp
wxie has quit [Ping timeout: 258 seconds]
curiouscain has quit [Ping timeout: 240 seconds]
curiouscain has joined #lisp
<no-defun-allowed> Yeah, try (save-lisp-and-die "/tmp/foo" :executable t :toplevel (lambda () (print "Hello world!"))) or something like that.
<no-defun-allowed> Hey, that's <10ms from a tmpfs.
tempest_nox has quit [Read error: Connection reset by peer]
<beach> Does Clojure have an independent standard?
<beach> As I emphasize in my talks to industry, a project leader who chooses a language without an independent standard should be fired.
<beach> Unless, of course, that person made a risk analysis that takes into account the possibility of having to rewrite the project code when it turns out that the language that was chosen was abandoned, or was modified in such a radical way that the code no longer works.
<beach> Or legal costs when the company is sued (by Oracle, maybe?) for using a proprietary language or tool set.
<no-defun-allowed> I dunno, the former situation is apparently an advantage according to recent #lisp discussion.
<beach> "former"?
<beach> Which one is that?
<flip214> no-defun-allowed: I'm arguing for SBCL images over Java software because the HTTP port is up after <15msec, which is great in a PaaS or SaaS...
<no-defun-allowed> My apologies: "the possibility of having to rewrite the project code when it turns out that the language [...] was modified in such a radical way that the code no longer works"
<beach> Hmm.
KREYREEN has quit [Read error: Connection reset by peer]
andreyorst` has joined #lisp
andreyorst` has quit [Remote host closed the connection]
KREYREEN has joined #lisp
andreyorst` has joined #lisp
andreyorst` has quit [Remote host closed the connection]
andreyorst` has joined #lisp
vsync has quit [Ping timeout: 265 seconds]
mgxm has quit [Ping timeout: 264 seconds]
vsync has joined #lisp
Nilby has joined #lisp
andreyorst has quit [Ping timeout: 256 seconds]
liberliver has joined #lisp
<loke[m]> *no-defun-allowed*: that sounds like Rust?
<beach> loke[m]: Why do you give no-defun-allowed earmuffs?
<loke[m]> beach: becaue n-d-f is using Matrix to connect to IRC, and the Matrix username is no-defun-allowed. The username is mapped to IRC as no-defun-allowed.
<beach> I'm lost. But I guess it's not important.
wxie has joined #lisp
<loke[m]> beach: Matrix is a federated chat software. It can link to IRC quite effectively, and integrates quite well. However, there are some places where incompatibilities shine through. One of those cases is when your Matrix username is not compatible with IRC. n-d-f has asterisks in the Matrix username, which is not allowed in IRC. Since I also use Matrix, I see the asterisks.
jprajzne has quit [Quit: jprajzne]
mbomba has joined #lisp
jprajzne has joined #lisp
<beach> I see (I think).
jprajzne has quit [Client Quit]
jprajzne has joined #lisp
<phoe> Xach: when I made a GECO repo you mentioned that gpwwjr was a person of the Old Ways
<phoe> now there's an official git repo from him!
mbomba has quit [Quit: WeeChat 3.0]
dmc00 has quit [Remote host closed the connection]
shifty has quit [Ping timeout: 258 seconds]
shifty has joined #lisp
treflip has joined #lisp
mgxm has joined #lisp
Blukunfando has quit [Ping timeout: 240 seconds]
Cymew has joined #lisp
<ebrasca> Morning!
aartaka has joined #lisp
<beach> Hello ebrasca.
<phoe> hello
Duuqnd has joined #lisp
aartaka_d has quit [Ping timeout: 258 seconds]
KREYREEN has quit [Remote host closed the connection]
shka_ has joined #lisp
zacts has joined #lisp
zacts has quit [Client Quit]
mbomba has joined #lisp
ljavorsk has joined #lisp
mbomba has quit [Client Quit]
jibanes has quit [Ping timeout: 258 seconds]
jibanes has joined #lisp
Fare has quit [Ping timeout: 258 seconds]
shifty has quit [Ping timeout: 264 seconds]
harlchen has joined #lisp
Fare has joined #lisp
pve has joined #lisp
gproto23 has joined #lisp
susam has joined #lisp
<no-defun-allowed> beach: My Matrix nick has earmuffs, and pinging me copies that instead of the IRC nick.
random-nick has joined #lisp
<no-defun-allowed> loke: Well, credit where credit is due, don't they have...three year epochs as "releases"?
<beach> no-defun-allowed: Got it.
<no-defun-allowed> It used to be #'no-defun-allowed, but why would that be a function?
<beach> Yeah, no reason.
<no-defun-allowed> (A rhetorical question. Earmuffs make some more sense.)
gproto23 has quit [Quit: Leaving]
<no-defun-allowed> Also, note that IRC nicks and Matrix nicks are usually not the same (which, from my reading, may be suggested by "mapping to IRC"). Usually they have [m] at the end, which is a story I told before - actually, no, they might be similar.
Fare has quit [Ping timeout: 264 seconds]
<no-defun-allowed> And Matrix nicks may also be different between rooms - I have my first name as a nick in some. What happens if I set a different nick for #lisp?
<no-defun-allowed> Nothing. Maybe there is something else I have to change to change my IRC nick.
rdd has joined #lisp
jonatack has quit [Remote host closed the connection]
<spal> This is my Freenode IRC nick ...
<susam> ... and this is my Matrix nick (also registered in Freenode)
<ck_> sounds a little off topic for #lisp
* no-defun-allowed evacuates the contents of Matrix to newspace^W#lispcafe
jonatack has joined #lisp
<susam> On Matrix, you can open a private chat with @appservice-irc:matrix.org and run commands on it (like !nick) to change the Freenode-side nick of your Matrix user.
<susam> ck_: Offtopic indeed. Sorry for the digression.
<beach> I agree with ck_.
hendursa1 has joined #lisp
hendursaga has quit [Ping timeout: 240 seconds]
hnOsmium0001 has quit [Quit: Connection closed for inactivity]
spxy-m has left #lisp ["User left"]
Fare has joined #lisp
spxy-m has joined #lisp
spxy-m has left #lisp ["User left"]
Fare has quit [Ping timeout: 260 seconds]
gigetoo has quit [Ping timeout: 264 seconds]
gigetoo has joined #lisp
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
rdd has quit [Ping timeout: 246 seconds]
datajerk has quit [Ping timeout: 256 seconds]
jpli has quit [Remote host closed the connection]
aeth has quit [Ping timeout: 272 seconds]
aeth has joined #lisp
datajerk has joined #lisp
Lord_of_Life has joined #lisp
Lord_of_Life has quit [Changing host]
waleee-cl has joined #lisp
<pve> beach: Hi, you've mentioned implementing a compiler using the "full language" (or something to that effect). Can I read more about this approach somewhere?
<beach> pve: Let me check what I have written that might work. Hold on...
<pve> beach: thanks, there's absolutely no rush
<beach> I don't see anything that is specifically addressing this point. But if you join #sicl I can explain a bit more. If that way of doing it is convenient for you, of course.
<pve> certainly
<beach> There is not much to say about it, in fact. The main thing is to make the code idiomatic and to create a bootstrapping procedure to make it operational.
pbgc has joined #lisp
orivej has joined #lisp
<phoe> @everyone: ELS 2021 is going to be online. I just got a response from Didier.
<beach> Great!
<easye> phoe: good.
heisig has joined #lisp
<phoe> ...maybe I should not have mailed Didier after all though
ljavorsk has quit [Ping timeout: 256 seconds]
<phoe> he asked me a tough question
<phoe> the question was, given my experience with streaming Lisp stuff, would I like to stream more Lisp stuff
<flip214> phoe: whether you'll cause fist fights with your presence?
<flip214> oh, not that tragic then
<phoe> flip214: not that, but I enjoyed your post in face of the current dynamic context
gzj has quit [Remote host closed the connection]
<easye> phoe: I'd be happy help stream ELS2021
<phoe> easye: go tell Didier then!
gzj has joined #lisp
<phoe> I accepted his offer, but I'll surely need a backup in case my computer or connection decide to fail.
<easye> I DM'd him yesterday on Twitter. Can you /MSG me the email address you are using.
<phoe> easye: added you to the mail thread instead.
<easye> Got it.
<flip214> phoe: glad that I can enlighten your mood!
wxie has quit [Remote host closed the connection]
<phoe> Didier: «Thanks again for "volunteering" :D»
<phoe> yeah, right
<flip214> phoe: you got volunteered by all of us
<flip214> by popular vote
shifty has joined #lisp
<flip214> and as soon as ELS happens in real world again, you might even get bought a beer or a half
<flip214> but the current ETA for that is 2038 or so
<phoe> isn't that when the unix time runs out?
<phoe> which is kinda, uh
iskander- has joined #lisp
<beach> Nah, we will all be vaccinated by the end of 2021.
<phoe> foreshadowing
<flip214> only for 32bit values, which are more and more uncommon
<flip214> even javascript has 53bit for integers defined
iskander has quit [Ping timeout: 265 seconds]
<phoe> okay then
wxie has joined #lisp
mbomba has joined #lisp
ljavorsk has joined #lisp
urek has joined #lisp
ljavorsk_ has joined #lisp
mbomba has quit [Quit: WeeChat 3.0]
Duuqnd has quit [Remote host closed the connection]
ljavorsk has quit [Ping timeout: 240 seconds]
quanta[m] has joined #lisp
shifty has quit [Ping timeout: 256 seconds]
shifty has joined #lisp
skapata has quit [Remote host closed the connection]
wxie has quit [Ping timeout: 256 seconds]
urek__ has joined #lisp
urek has quit [Ping timeout: 258 seconds]
chkhd has joined #lisp
tfb has joined #lisp
sgibber2018 has quit [Quit: WeeChat 2.9]
arduo has joined #lisp
Stanley00 has quit []
surabax has joined #lisp
vegansbane6 has quit [Quit: The Lounge - https://thelounge.chat]
arduo has quit [Remote host closed the connection]
arduo has joined #lisp
amb007 has quit [Read error: Connection timed out]
galex-713 has quit [Ping timeout: 272 seconds]
<flip214> is there a library that can bidirectionally relay data between two streams resp. sockets?
iskander- has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
iskander has joined #lisp
<flip214> hmmm, perhaps cl-async
<phoe> flip214: https://github.com/smithzvk/cl-plumbing connect-streams?
<flip214> phoe: thanks, will look at that as well!
iskander- has joined #lisp
<flip214> phoe: though the README sounds to me as if it requires two threads, one for each direction?!
iskander has quit [Ping timeout: 256 seconds]
galex-713 has joined #lisp
<phoe> flip214: I actually don't know more details
<flip214> might become unwieldy for 20 socket pairs or so...
<phoe> something for sure needs to monitor the threads and perform the byte-copying
<phoe> 20 socket pairs could be handled even by a single thread I guess, depending on traffic levels of course
<phoe> hm
rumbler31 has joined #lisp
vegansbane6 has joined #lisp
rumbler31 has quit [Ping timeout: 260 seconds]
shifty has quit [Ping timeout: 256 seconds]
<flip214> yeah, right - data rate isn't the issue
<flip214> though latency and fairness might be - so I want some epoll or similar stuff, not "read until exhausted, next socket"
Lycurgus has joined #lisp
frost-lab has quit [Quit: Connection closed]
dmc00 has joined #lisp
bitmapper has joined #lisp
thuglifebro has joined #lisp
thuglifebro has left #lisp [#lisp]
arduo has quit [Remote host closed the connection]
<phoe> flip214: sounds like something based around wait-for-input then
orivej has quit [Ping timeout: 260 seconds]
orivej has joined #lisp
EvW has joined #lisp
saganman has quit [Ping timeout: 240 seconds]
Bike has joined #lisp
treflip has quit [Remote host closed the connection]
pfdietz has joined #lisp
DGASAU has quit [Read error: Connection reset by peer]
rumbler31 has joined #lisp
rumbler31 has quit [Ping timeout: 258 seconds]
pfdietz has quit [Remote host closed the connection]
jeosol has quit [Remote host closed the connection]
Lycurgus has quit [Quit: Exeunt]
nij has joined #lisp
<nij> Any one using 'cl-ledger'? https://github.com/ledger/cl-ledger
cosimone has joined #lisp
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
jeosol has joined #lisp
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
nij has quit [Quit: ERC (IRC client for Emacs 27.1)]
nij has joined #lisp
<nij> Nvm.. what is an object? According to lispworks doc, an object is any Lisp datum.
<nij> But it doesn't say what a Lisp datum is.
<phoe> a datum is singular of data
chkhd has quit [Ping timeout: 240 seconds]
<phoe> in yet other words, a value
<nij> Yes so what are Lisp data, or Lisp values?
<phoe> in yer yet other words, something that you can operate on, return from functions, pass to functions
chkhd has joined #lisp
<beach> Store in a variable.
<phoe> in yet yet yet other words, a datum can be a number, a string, a list, an array, a symbol, a cons cell, a hash-table, a class, an instance, ..., ...
<nij> phoe: I get that. Perhaps I really have to look into the source of Lisp to really grab what it is. I won't do that now.
<beach> nij: There is no "source of Lisp". Only of individual implementations.
<phoe> ^
<nij> Oh yes. should say source of any implementation.
<Bike> don't overthink it. a datum is just a manipulable thing of some kind.
<phoe> if anything, you might want to look into the tests of Lisp
<phoe> to figure out how some operator or data structure should behave.
hiroaki has quit [Ping timeout: 240 seconds]
<beach> nij: But the concept of an object/datum is very simple. It is anything that you can pass to a function, return from a function, store as the value of a variable, store in an array, store in a slot.
<Bike> defining "datum" for lisp is like trying to define the word "object" in normal english. it's like, a thing.
<phoe> if you like grokking software this way, then you could search in https://gitlab.common-lisp.net/ansi-test/ansi-test for your favorite CL operator and check how it is supposed to work.
<beach> nij: And you won't find anything by reading the source code of an implementation.
<phoe> that would be a pretty unique way of using ansi-tests, but I guess whatever floats your boat.
<nij> What are primitive types of data, eg in sbcl?
<nij> Eg I think in C characters are modeled by integers. In this case I'd say integers are primitive, but characters are not.
<nij> Similary by using 'defstruct, we can make many kinds of objects, out of the old ones.
<nij> But there must be some of them that couldn't be implemented within lisp.
<nij> OH THIS! ^^^^^^^^^^^^^
<phoe> good
<Bike> what is the purpose of this definition?
<Bike> of "primitive"?
<nij> Bike: just curious
<Bike> i mean, it depends, doesn't it? on a modern computer basically everything is going to be encoded as a small integer or series of small integers
<Bike> that doesn't exactly help you with language semantics
<nij> 0 and 1
<nij> No it won't help indeed.
<Bike> right, but this is like learning how to cook and starting by asking what quarks things are made out of
<nij> I'm just curious what's happening at the bridging layer between lisp and one step below.
<nij> Bike: I did that and became a researcher xD
<nij> Academic people like me are doomed to procrastinate for stupid reasons :'(
<Bike> it's not like chemistry isn't relevant to cooking, but if you're at the point of not knowing how to boil water it's not going to do you much good, you know what i mean?
<nij> But I do like the graph phoe posted
<nij> Bike: yeah I get you
<Bike> phoe's graph has nothing whatsoever to do with the "bridging layer" you mentioned. it's just the language semantics.
<nij> Uh.. at the top of each connected components.. aren't they the primitive types?
aartaka has quit [Read error: Connection reset by peer]
<Bike> nope, those are the superclasses.
<Bike> for example this says that REAL and COMPLEX are NUMBERs
<nij> :O :O :口
<Bike> but that doesn't mean there's a "primitive" "number" type or anything
<nij> I misunderstood, then..
chkhd has quit [Quit: Textual IRC Client: www.textualapp.com]
<nij> I admit I'm just a miserable researcher who just start to realize that every theory is essentially empty within itself, and probably the most true thing are the objects in languages like Lisp.. at least a foundation can be fetched..
hendursa1 has quit [Quit: hendursa1]
hendursaga has joined #lisp
kaftejiman has joined #lisp
<nij> (Don't take it too seriously :) but this is really what I am at.. it should go to #lispcafe though.. so I'll stop here.
<Bike> i understand your thought process and i don't think it's going to work. lisp is an abstraction layer. there are any number of ways an implementation could decide to implement those semantics on actually existing computers.
<Bike> this is true of C or any other language as well really, but the C virtual machine is relatively similar to actual machines, so people forget
gzj has quit [Remote host closed the connection]
<nij> Bike, you just destroyed my last hope. xD
tfb has quit [Read error: Connection reset by peer]
<nij> Nah just kidding. I get that..
gzj has joined #lisp
<phoe> nij: do you understand what an axiom is?
<nij> But somehow I feel the urge to get to understand the roots of the current abstraction level I'm at.
<phoe> in logic, in proofs, in mathematical reasoning
<nij> phoe: I am a mathematician. So.. yes.
<phoe> good
<phoe> then a lot about CL type theory is actually axioms.
gzj has quit [Remote host closed the connection]
<nij> Yeah but I don't really like axioms..
<Bike> what an odd thing to say.
tfb has joined #lisp
<phoe> symbols exist as a type and that type is allowed to be primitive so not defined in terms of anything else - or, in other words, via built-in-class.
gzj has joined #lisp
<phoe> s/that type/that class/
<phoe> s/type/class/
<phoe> that's all. there's no more proof, that's an axiom of ANSI Common Lisp.
<nij> Bike: ? what's odd
gzj has quit [Remote host closed the connection]
hiroaki has joined #lisp
<phoe> there's a ton of other axioms like that, and what you're diving into when you jump into implementation sources is just details of their concrete implementation.
<nij> phoe: thanks ..
<Bike> in math terms this is like you want to learn to multiply so you go "ok, so numbers are defined as sets of sets, right?" like no, that's just if you use set theory instead of category theory or whatever else, and even then there are any number of possible representations of numbers as sets
gzj has joined #lisp
<nij> Bike: that's exactly what made me feel void.
gzj has quit [Remote host closed the connection]
<nij> It feels like whether things exist isn't the point, but how they behave is.
<Bike> well, yeah, pretty much.
<phoe> obviously
gzj has joined #lisp
<phoe> can you prove you're self-aware?
<Bike> sorry, i guess. but i can't fix that by lying to you and telling you that actually the one true way to represent numbers is like bla bla bla.
<phoe> or is that only inferable from your behavior?
gzj has quit [Remote host closed the connection]
<nij> phoe: I don't even know what's self-aware.. (plus we don't need a proof for everything..
<nij> Bike: fair.
gzj has joined #lisp
<phoe> a Common Lisp implementation is allowed to implement CL:+ by sending the question over the Internet as a question to Amazon Mechanical Turk, waiting for the response, and returning the value that was produced this way
<phoe> and that will work, ANSI-TEST are gonna pass on this
<nij> :(
<phoe> and the only downsides to it are that you're gonna be real puzzled when you look at the implementation sources for that.
<phoe> and that it's gonna be slow and expensive like holy hell.
<aeth> Just crowdsource it for free on Twitch chat. You could even use the name twitchplayscommonlisp
<nij> phoe: I'm warned. I won't do that too soon!
gzj has quit [Remote host closed the connection]
<phoe> aeth: touche
wsinatra has joined #lisp
<beach> nij: What do you consider as being one step below Lisp?
<aeth> the correct answer is (1- *lisp*)
<nij> beach: The language used in the source code of whichever lisp implementation.
<nij> aeth: approximately yeah, (1- *lisp*)
<phoe> nij: well
<beach> nij: So for SBCL and SICL, that would be Common Lisp.
<phoe> beach gon teach you a lesson in a moment
<phoe> the only parts of SBCL written in C would be the garbage collector and low-level stuff for interfacing with the OS API
<phoe> and as far as I know SICL wants to get rid even of those
<aeth> afaik, SBCL writes the GC in C so that you're able to debug it if things go wrong
<aeth> it's absolutely not necessary to write a GC in C
<beach> Indeed. The SICL garbage collector is written in Common Lisp.
<nij> @@ how about the special forms?
<nij> I get that most of any Lisp implementation can be writting in the Lisp
<beach> The compiler (written in Common Lisp too) handles them specially.
<nij> Who compiled the compiler?
<phoe> the previous compiler
<beach> It was compiled on a Common Lisp system.
<phoe> e.g. SBCL
<phoe> or CCL
<phoe> or ECL, or CLISP, or ABCL
<nij> Lol so Common Lisp has been used to bootstrap Common Lisp implementations several times?
<phoe> it's used for that purpose all the time
<phoe> like, SBCL compiles SBCL all the time
<nij> Come on there must be a starting point when common lisp needs to be bootstrapped by other languages.
<phoe> uh
<phoe> what do you mean by "starting point"?
<beach> nij: Maybe 50 years ago.
<nij> beach: yeah then that's what I'm talking about
<phoe> so, yes, obviously there was such a point somewhere someday
<beach> But you won't find any trace of those anymore.
<phoe> that's how evolution works
dbotton has joined #lisp
<phoe> following this logic there is also a point when humans weren't human, but suddenly, bam, there is a human
<nij> beach: REALLY? It's so hard to find?!
<nij> phoe: LOL
<phoe> I mean, ECL compiles from portable C
<shinohai> CLISP, bootstrapping you into sbcl since 1999 (tm)
<phoe> so does CLISP
<nij> This is what I'm looking for!
<nij> I regain meaning from ignorance!
<phoe> but other implementations don't do that because writing a lot of Lisp code in C is, uhh, ugly
<phoe> that's why SBCL bootstraps from Lisp plus a small C module
<phoe> CCL bootstraps from CCL plus a small C module
<phoe> SICL bootstraps from Common Lisp and abhors C modules altogether
<phoe> so, you know - it isn't universal.
<phoe> and you still need a C compiler, too.
<phoe> who's gonna bootstrap that one?
<nij> You must love Lisp so much to know all the stories of the ancestors.
<phoe> it's more like just common knowledge, it sinks into you over time as you chat with lispfolk and read about stuff
<phoe> unless you're also interested in it, at which point it's 10% of the required time
* phoe afk
<nij> Someone should make a lisp out of machine code.
<aeth> nij: It's the same issue with C. What compiled the first C compiler in a chain of C compilers? Well, just like with CL, it's either (1) another compiler of the same language, (2) a compiler written in another high level language, or (3) a compiler hand-written in assembly or machine code
<phoe> nij: why
<phoe> that would be counter productive
<aeth> Ultimately, the chain of compilers has to be traced to #3
<aeth> (OK, #3 might have also been an interpreter)
<phoe> also, who created that machine code
<nij> phoe it feels more meaningful
<phoe> and who created the machine that executes it
<aeth> nij: It's possible that some Common Lisp compiler chains trace their origin back to a pre-CL Lisp like Maclisp or Interlisp
<phoe> nij: meaningful? wat
<phoe> why
<phoe> meaningful for what exactly
<phoe> "If you wish to make apple pie from scratch, you must first create the universe." -- Carl Sagan
<nij> HA!
<nij> And then create yourself.
<aeth> nij: This is C, not CL, but it's a similar issue. https://web.archive.org/web/20081126183008/http://cm.bell-labs.com/who/ken/trust.html
aartaka has joined #lisp
<aeth> The general solution to that issue is deterministic builds, but the CL community hasn't really talked about that yet afaik. And it's a harder problem in CL because the product is image-based
acolarh has quit [Ping timeout: 260 seconds]
orivej_ has joined #lisp
<nij> aeth: What does deterministic builds mean?
orivej has quit [Ping timeout: 256 seconds]
<aeth> nij: In practice, it means that it makes it so you shouldn't care about how you got the resulting product (hand-compiled, a random C compiler, another CL compiler, etc.) because it should build the same every time.
<nij> i see
acolarh has joined #lisp
<aeth> Well, for a given compiler. But it means you don't have to care about the prior chain, i.e. the compiler's compiler
ljavorsk_ has quit [Ping timeout: 260 seconds]
defunkydrummer has joined #lisp
<aeth> nij: If a CL compiler is compiled in some CL implementation, and then it recompiles itself in a deterministic way (the same source producing byte-for-byte identical output) before it's used for anything else, then it doesn't matter how it got there.
<aeth> It could've gotten there from a time-consuming hand-compilation process, CLISP, ECL, CCL, SBCL, etc., and it wouldn't matter.
notzmv has quit [Read error: No route to host]
<aeth> And you could compile it two different ways and compare to ensure that you can actually trust it.
notzmv has joined #lisp
<nij> (Beautiful read by Thompson :)
<nij> I think I understand the chicken-egg problem at the next level today.
<nij> Thanks folks.
EvW has quit [Ping timeout: 258 seconds]
pbgc has quit [Quit: Textual IRC Client: http://www.textualapp.com/]
nij has left #lisp ["ERC (IRC client for Emacs 27.1)"]
<jackdaniel> yet another level is to realize, that the egg was before the chicken, because reptiles predate birds :)
hiroaki has quit [Remote host closed the connection]
aartaka has quit [Ping timeout: 256 seconds]
X-Scale` has joined #lisp
X-Scale has quit [Ping timeout: 260 seconds]
X-Scale` is now known as X-Scale
zcheng3 has joined #lisp
pi123 has joined #lisp
johnjay has quit [Read error: Connection reset by peer]
bendersteed has joined #lisp
Josh_2 has joined #lisp
yitzi has joined #lisp
saganman has joined #lisp
random-nick has quit [Quit: quit]
Fare has joined #lisp
galex-713 has quit [Ping timeout: 272 seconds]
<jdz> Because they're predators?
<shoshin> what a pun
sjl has joined #lisp
toorevitimirp has joined #lisp
nij has joined #lisp
DGASAU has joined #lisp
Lycurgus has joined #lisp
aartaka has joined #lisp
nij has quit [Quit: ERC (IRC client for Emacs 27.1)]
Steeve has joined #lisp
OlCe has joined #lisp
judson_ has joined #lisp
Cymew has quit [Ping timeout: 240 seconds]
<Lycurgus> beach, i think I may have seen you mentioned as a grad student in a text book
<beach> Oh?
<beach> What text book?
<Lycurgus> Equational Logic as a Programming Language
<beach> Oh, yes. Mike O'Donnell was my thesis director.
<Lycurgus> Christoph Rhodes was in same dept?
<beach> Not at all. Not on the same continent.
<beach> And not at the same time either, I would think.
<Lycurgus> someone named christoph was mentioned
judson_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<Lycurgus> i think I confabulated rhodes, there's more than 1 i think
judson_ has joined #lisp
<beach> I have the book here. Hold on...
<Lycurgus> yeah hoffman
<beach> Right. Not a student.
<Lycurgus> ah
hnOsmium0001 has joined #lisp
jibanes has quit [Ping timeout: 258 seconds]
<beach> The title of my PhD thesis was "Compiling equational programs into efficient machine code"
jibanes has joined #lisp
<Lycurgus> was it Purdue?
<beach> No, Johns Hopkins in Baltimore.
<Lycurgus> ah
<beach> Mike was there for two years only, then he moved to Chicago and I had to work on my own.
<beach> Suited me just fine. :)
<Lycurgus> :)
orivej_ has quit [Ping timeout: 246 seconds]
dbotton has quit [Quit: This computer has gone to sleep]
the-smug-one has joined #lisp
__jrjsmrtn__ has joined #lisp
dbotton has joined #lisp
_jrjsmrtn has quit [Ping timeout: 265 seconds]
galex-713 has joined #lisp
toorevitimirp has quit [Ping timeout: 256 seconds]
Lycurgus has quit [Quit: Exeunt]
aartaka has quit [Ping timeout: 272 seconds]
judson_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
dbotton has quit [Quit: This computer has gone to sleep]
tfb has quit []
dbotton has joined #lisp
andreyorst` has quit [Quit: andreyorst`]
andreyorst has joined #lisp
EvW has joined #lisp
EvW has quit [Client Quit]
EvW has joined #lisp
defunkydrummer has quit [Ping timeout: 246 seconds]
flavio has joined #lisp
nwoob has joined #lisp
nwoob has quit [Client Quit]
jibanes has quit [Ping timeout: 260 seconds]
nwoob has joined #lisp
judson_ has joined #lisp
jibanes has joined #lisp
flavio_ has joined #lisp
hal99999 has joined #lisp
luckless has joined #lisp
judson_ has quit [Client Quit]
flavio has quit [Ping timeout: 258 seconds]
jibanes has quit [Ping timeout: 265 seconds]
luckless_ has quit [Ping timeout: 240 seconds]
jibanes has joined #lisp
rogersm has joined #lisp
bendersteed has quit [Quit: bye bye]
tlaxkit has joined #lisp
<nwoob> is it possible to have autocomplete while writing common lisp code in emacs. If yes can somone point me to documentation
<nwoob> please
<Bike> are you using slime?
random-nick has joined #lisp
<nwoob> yes
jibanes has quit [Ping timeout: 260 seconds]
<nwoob> I just know that I can do M-x slime and slime repl opens up. I don't even know how to write and compile program in a file
<Bike> you might want a more comprehensive introduction then
mokulus has joined #lisp
<nwoob> yes, could you please point me to one Bike
<beach> nwoob: You would typically split the Emacs frame with C-x 3 and with the source code buffer in one part and the REPL in the other part.
<Bike> but if you have slime running and edit a lisp file, you can use M-TAB or C-M-i or whatever else complete-symbol is bound to
jibanes has joined #lisp
<Bike> https://common-lisp.net/project/slime/ the project page has a few tutorials linked
<Josh_2> nwoob: I believe I use company mode for auto completion in my code writing buffer
<Bike> https://www.cliki.net/slime-howto this page also links some
<nwoob> ok, thank you. I'll read those documentation
<nwoob> and look into company-mode also
<_death> I use C-c C-i and a lot of M-/
epony has quit [Remote host closed the connection]
mokulus has quit [Quit: WeeChat 2.9]
Jesin has quit [Quit: Leaving]
OlCe has quit [Remote host closed the connection]
OlCe has joined #lisp
Jesin has joined #lisp
the-smug-one has quit [Remote host closed the connection]
skapata has joined #lisp
jpli has joined #lisp
OlCe has quit [Remote host closed the connection]
OlCe has joined #lisp
OlCe has quit [Remote host closed the connection]
cosimone has quit [Quit: cosimone]
flavio_ has quit [Quit: Leaving]
flavio_ has joined #lisp
flavio_ is now known as defunkydrummer
matta_ has quit [Ping timeout: 246 seconds]
random-nick has quit [Ping timeout: 258 seconds]
OlCe has joined #lisp
abhixec has joined #lisp
matta_ has joined #lisp
random-nick has joined #lisp
EvW has quit [Ping timeout: 258 seconds]
EvW has joined #lisp
matta_ has quit [Remote host closed the connection]
matta_ has joined #lisp
judson_ has joined #lisp
matta_ has quit [Remote host closed the connection]
andreyorst` has joined #lisp
andreyorst` has quit [Remote host closed the connection]
<nwoob> what's wrong in this (setf tasty 'data)
matta_ has joined #lisp
andreyorst` has joined #lisp
<nwoob> why does repl prints warning caught WARNING:
<nwoob> ; undefined variable: COMMON-LISP-USER::TASTY
<jackdaniel> probably because your code is not tasty ,)
<jackdaniel> all variables must be defined before setting them
<jackdaniel> i.e (defparameter tasty nil)
judson_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<nwoob> oh ok
<nwoob> thanks
<jackdaniel> putting only (setf tasty nil) without defining the variable is like assigning a value to undeclared variable (but cl is more forgiving usually)
<jackdaniel> sure
andreyorst` has quit [Client Quit]
Steeve has quit [Quit: end]
judson_ has joined #lisp
Steeve has joined #lisp
myall has quit [Quit: ZNC 1.7.5 - https://znc.in]
myall has joined #lisp
myall has quit [Changing host]
myall has joined #lisp
m1m0 has joined #lisp
rogersm has quit [Quit: Leaving...]
stzsch has quit [Quit: stzsch]
matta_ has quit [Ping timeout: 264 seconds]
defunkydrummer has quit [Ping timeout: 258 seconds]
gaqwas has joined #lisp
srandon111 has quit [Ping timeout: 260 seconds]
tisskenzen has joined #lisp
epony has joined #lisp
srandon111 has joined #lisp
nwoob has quit [Ping timeout: 256 seconds]
<harlchen> sry if this is the wrong chan, but hunchentoot/vanilla vs. hunch..+easy-routes vs. h..+ningle vs. clack+lack.component/+builder vs. ... ; for a new web-app/parenscript for a ~cl-noob ?
X-Scale` has joined #lisp
Demosthenex has quit [Ping timeout: 240 seconds]
X-Scale has quit [Ping timeout: 264 seconds]
X-Scale` is now known as X-Scale
Demosthenex has joined #lisp
gxt__ has quit [Ping timeout: 240 seconds]
gxt__ has joined #lisp
<flip214> harlchen: I'm using HT + HT-quux - I'm happy enough with the easy-handlers, but if you have lots of routes you might wants some library on top
<harlchen> will investigate quux, thx
<harlchen> i'm still orienting myself partly by the cookbook and awesome-cl :)
<flip214> minion: tell harlchen about hunchentoot-quux
<minion> Sorry, I couldn't find anything in the database for ``hunchentoot-quux''.
<harlchen> i found it on the gitlab
<flip214> I like a) the performance (no new threads) b) that it has an upper limit on threads
tisskenzen has quit [Quit: leaving]
yitzi has quit [Remote host closed the connection]
yitzi has joined #lisp
tisskenzen has joined #lisp
tisskenzen has quit [Client Quit]
tisskenzen has joined #lisp
<harlchen> i already like the extensive documentation in the source of ht-quu
<harlchen> *x
judson_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
judson_ has joined #lisp
olle has joined #lisp
<olle> you guys have a lips bot?
deltab has joined #lisp
Aurora_v_kosmose has quit [Remote host closed the connection]
akoana has joined #lisp
Aurora_v_kosmose has joined #lisp
<harlchen> nice, thank you, flip214
<edgar-rft> olle: we all are lisp bots :-)
<olle> :)
<edgar-rft> Lisp is our master who makes us write code
<lotuseater> I'm maybe also a bot from another planet.
EvW has quit [Ping timeout: 260 seconds]
tlaxkit has quit [Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/]
defunkydrummer has joined #lisp
olle has quit [Ping timeout: 256 seconds]
Nilby has quit [Read error: Connection reset by peer]
EvW has joined #lisp
tisskenzen has quit [Quit: leaving]
loli has quit [Quit: WeeChat 2.9]
nij has joined #lisp
tisskenzen has joined #lisp
aartaka has joined #lisp
loli has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
aartaka_d has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
rumbler31_ has joined #lisp
abhixec has quit [Quit: leaving]
amb007 has joined #lisp
<rumbler31_> anyone know of good gis plotting/manipulating libraries?
<rumbler31_> my primary need right now is to just plot gps/utm data
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
aartaka has quit [Ping timeout: 260 seconds]
<defunkydrummer> rumbler31_ there is one or more interfaces to gnuplot
<defunkydrummer> haven't tried anyone yet
<defunkydrummer> rumbler31_ see this for a starting point: https://www.cliki.net/Common%20Lisp%20and%20gnuplot
aartaka_d has quit [Ping timeout: 256 seconds]
amb007 has quit [Read error: Connection reset by peer]
<defunkydrummer> rumbler31_ oh, i didn't read the "GIS" part of your question
amb007 has joined #lisp
<defunkydrummer> rumbler31_: here's a list of GIS libs, https://www.cliki.net/geospatial . This is cliki (old site) so there must be some more libs too, but it gives you a starting point
srandon111 has quit [Ping timeout: 256 seconds]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
aartaka has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
nij has left #lisp ["ERC (IRC client for Emacs 27.1)"]
amb007 has joined #lisp
hal99999 has quit [Quit: hal99999]
zacts has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
aartaka has quit [Ping timeout: 246 seconds]
karlosz has quit [Ping timeout: 264 seconds]
rgherdt has joined #lisp
aorst has joined #lisp
narimiran has quit [Ping timeout: 258 seconds]
orivej has joined #lisp
andreyorst has quit [Ping timeout: 272 seconds]
<tisskenzen> okay, i'm writing a syntax-case macro for my pet guile script, and have found a need to add several keywords into the pattern of the clause, because this is much cleaner to read
jpli_ has joined #lisp
jpli has quit [Ping timeout: 272 seconds]
<tisskenzen> there's a problem of keyword permutations and repeating the expression after the pattern is written
<tisskenzen> nvm, maybe i'll solve this myself
jw4 has quit [Read error: Connection reset by peer]
urek__ has quit [Quit: urek__]
sgibber2018 has joined #lisp
jw4 has joined #lisp
ebrasca has quit [Ping timeout: 258 seconds]
zulu-inuoe has joined #lisp
hiroaki has joined #lisp
yitzi has quit [Quit: yitzi]
dbotton_ has joined #lisp
dbotton has quit [Ping timeout: 260 seconds]
shifty has joined #lisp
dbotton_ has quit [Quit: Leaving]
Fare has quit [Ping timeout: 258 seconds]
<harlchen> is there a native/eleganthttps://paste.debian.net/1176431/
<harlchen> elegant enough way to get what i want https://paste.debian.net/1176431/
wsinatra has quit [Quit: WeeChat 3.0]
<lotuseater> did you mean (defvar *a* (make-hash-table))?
<harlchen> ah sry no parameter >)
<harlchen> sry i got confused
<lotuseater> okay what's wrong?
<harlchen> (defparameter *a* (make-hash-table))
<harlchen> i got it right in my code, but wrong in the example
<lotuseater> yeah but if it's not initialised DEFVAR is also good
<lotuseater> and if you don't want *a* to be overwritten at reload DEFVAR is better than DEFPARAMETER
<harlchen> sure
Fare has joined #lisp
<harlchen> i wanted to pattern match the key of the hash table , do i have to transform it at the (match level or do i miss something obvious ?
<White_Flame> since you're inside a PROGN, are you sure it needs to be global? would (let ((a (make-hash-table))) ...) work for you?
<White_Flame> also, does trivia support peering into hashtables?
<harlchen> i see my mistake
jpli_ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
<harlchen> i think it should work with guard
m1m0 has quit [Quit: Leaving]
heisig has quit [Quit: Leaving]
<harlchen> i can peer into the slots
<harlchen> (match (make-hash-table) ((hash-table (:size c)) c))
aorst has quit [Quit: WeeChat 3.0]
pi123 has quit [Quit: WeeChat 2.3]
zacts has quit [Quit: leaving]
zacts has joined #lisp
wwwww has joined #lisp
shifty has quit [Remote host closed the connection]
wwwww has left #lisp ["WeeChat 2.3"]
shifty has joined #lisp
msk has joined #lisp
zacts has quit [Quit: leaving]
lucasb has joined #lisp
gaqwas has quit [Ping timeout: 258 seconds]
judson_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rumbler31_ has quit [Ping timeout: 256 seconds]
jeosol has quit [Remote host closed the connection]
judson_ has joined #lisp
todun has joined #lisp
sjl has quit [Ping timeout: 246 seconds]
aartaka has joined #lisp
shka_ has quit [Ping timeout: 240 seconds]
jonatack has quit [Ping timeout: 246 seconds]
jonatack has joined #lisp
rumbler31_ has joined #lisp
shifty has quit [Ping timeout: 256 seconds]
pve has quit [Quit: leaving]
judson_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
judson_ has joined #lisp
madage has quit [Remote host closed the connection]
madage has joined #lisp
aartaka has quit [Ping timeout: 258 seconds]
todun has quit [Quit: todun]
todun has joined #lisp
todun has quit [Client Quit]
todun has joined #lisp
jonatack has quit [Quit: jonatack]
todun has quit [Remote host closed the connection]
todun has joined #lisp
todun has quit [Remote host closed the connection]
todun has joined #lisp
todun has quit [Client Quit]
todun has joined #lisp
todun has quit [Client Quit]
slyrus has quit [Quit: Leaving]
<lotuseater> funny, i was browsing the CLX lib on github and some files have "last commit 20 years ago" or more ^^
<phoe> if it works, don't touch it
<phoe> 2020 wasn't a lot of time ago in CL years
<phoe> in X years either
<lotuseater> why should i touch it?
jpli has joined #lisp
<lotuseater> I don't even know a small subset of how to use it :D big lib
<defunkydrummer> it's used on the StumpWM window manager.
amb007 has quit [Read error: Connection reset by peer]
<defunkydrummer> it
jonatack has joined #lisp
<defunkydrummer> it, as I understand it, interacts directly with your X server.
amb007 has joined #lisp
<lotuseater> yes I know :) and on McCLIM I think
<lotuseater> yes direct bindings to X
jonatack has quit [Ping timeout: 260 seconds]