freenode/#lisp - IRC Chatlog
Search
0:36:04
aeth
As far as doing something like TypeScript in CL, it's almost an introductory project to do a type-declared DEFUN macro. There are probably like 50 of those. There's at least one that's fancier than that and tries to do a fancier ML-style type system, though.
0:37:15
aeth
HiRE: Scheme, not CL. The author of JS was originally going to implement a Scheme, but that was rejected based on the syntax. Not much was borrowed from Scheme, although since idk 2007 or so people have been adding parts of Scheme to JS to try to justify the origin myth.
0:37:47
aeth
So at this point "JS is inspired by Scheme" is probably true, even though it was once false.
0:37:56
HiRE
oh I didnt even realize it was at least a partial truth. I figured it was just another jab using greenspun's 10th rule.
0:43:34
pjb
Well, any good programming language designer would have to know lisp and scheme, amongst a lot of other programming languages. So you can always say that a new programming language is inspired by scheme (or lisp). But this is definitely not a guarantee of quality for the new language.
0:49:58
aeth
pjb: The problem with "inspired by Lisp" is that you could make that claim for nearly any modern language because Lisp used to have features that no one else did, like GC
0:50:27
aeth
But these days, saying your language is "inspired by Lisp" just because it has a GC would be incredibly misleading because people think about the features that still distinguish Lisps from the rest, like the numeric tower
1:22:09
pjb
aeth: indeed, "inspired by lisp" is a problem. Foremost when they deliberately masacre lisp to make their language, like Matsumoto created Ruby the matsacred lisp…
2:25:26
aeth
pjb: On the other hand, technically speaking, Common Lisp is an "inspired by Lisp" language.
3:29:10
pjb
aeth: Definitely. And it has been criticized as such. And it has the same success relatively as the other ones.
5:24:28
White_Flame
aeth: common lisp has direct lisp lineage; it's not some new offshoot that only takes inspiration without continuance of design
5:26:18
aeth
White_Flame: Good enough for the "Influenced by" in the Wikipedia infobox. https://en.wikipedia.org/wiki/Common_Lisp
5:27:08
aeth
It doesn't go the other way around, though. [[Lisp]] has Common Lisp under "Dialects" not "Influenced"
5:29:44
asarch
One stupid question: I do the query (let ((results (query "SELECT * FROM foo"))) and then I parse every record in the query (loop for record in results do ..., question: how could I initialize a counter from 0 and increment its value on every iteration inside the loop expression?
5:29:44
minion
asarch, memo from pjb: genera and instructions can be found at: https://cliki.net/VLM_on_Linux
5:29:44
minion
asarch, memo from lieven: for recent X versions, you need to patch genera. See https://archives.loomcom.com/genera/genera-install.html#org783aa06
5:31:55
White_Flame
or VLM in docker, where you don't have to worry about any config: https://github.com/sethm/docker-vlm
5:50:53
asarch
(loop for i in (list 1 2 3 4 5) and b = 0 do (format t "Valor: ~d " b) (incf b) (format t "Hello paisanos~%")) <- Why b is not incremented?
5:59:15
minion
seok: look at Universal Greeting Time: It is always morning when a person enters a channel, and late night when they leave. You may want to read http://www.total-knowledge.com/~ilya/mips/ugt.html for further information
6:02:22
no-defun-allowed
https://common-lisp.net/project/mcclim/1.html could be it, but that really only has releases.
6:07:30
holycow
you are accessing irc through something on the google app engine? something perhaps writting in lisp?
7:45:01
LdBeth
is it good idea to store the instruction database :allocation :class into a mixin class so the database can be isolated for different machine
8:28:13
g0d_shatter
LdBeth: I'm sorry I can't help you, but I'm super curious what the application is if you can talk about it!
8:30:23
LdBeth
g0d_shatter: it an assembler modeled after the one used for Symbolics Virtual Lisp Machine https://github.com/hanshuebner/vlm
9:00:12
lieven
yeah the ANSI committee is going to reconvene and bring out a new version of the standard with the deprecated functions removed any day now
9:03:07
heisig
There is none. I think at some point in time, people were too hyped about cl:complement and made some funny choices.
9:05:40
jackdaniel
orthogonal features like complement make a lot of sense from a learning perspective, but deprecated in case of CL means: it will be around for another three standard revisions
9:22:06
aeth
You all covered pretty much every point in one of the strangest CL flamewar topics except also... remove-if-not is faster unless the compiler optimizes remove-if complement, which the compiler authors are less incentivized to do because remove-if-not exists, even though remove-if-not is deprecated
9:31:50
aeth
lieven: Last time it was brought up (although for all I know it was implemented 15 SBCLs ago) it wasn't quite as trivial as it sounds, but imo the key thing it shows is that it wasn't seen as particularly idiomatic or else it would have been optimized already.
9:32:32
heisig
lieven: Heh, 'easily'. Have you ever tried parsing keyword arguments in a compiler macro :)
9:34:01
heisig
And there is the problem that you couldn't optimize (let ((g (complement f))) (remove-if g x)), because the compiler macro only sees 'g'.
9:34:48
aeth
heisig: re keywords, is there a way to get to the point where you can use destructuring-bind? I've never written a compiler macro
9:36:03
lieven
heisig: sure. the whole point of optimizing is to get the low hanging fruit. if people are deliberately obfuscating their code, they can live with the default speed
9:37:44
heisig
aeth: Hmm, one could check that every second argument is a valid keyword, and then use destructuring-bind. Then one would still have to make sure that the order of evaluation is preserved.
11:25:32
heisig
phoe: Issue TEST-NOT-IF-NOT Writeup: "Several alternative names for REMOVE-IF-NOT were suggested: KEEP-IF, ABSTRACT, FILTER. We did not pursue these suggestions."
11:29:46
galdor
did someone already this issue where emacs open all flexi-streams files when loading the system in slime ?
11:33:04
phoe
heisig: IMO twenty+ years of Common Lisp practice have shown that the future ANSI CL committee should likely pursue them at some point in time
11:42:35
heisig
Even if there ever was a new standard, there cannot be any changes to the CL package. Otherwise, this new standard would break existing code.
11:44:57
heisig
I think it would be hilarious if there was a new CL standard, and it would essentially be 'We fixed a few typos and clarified a few descriptions'.
11:48:12
scymtym
"typo fixes and clarifications? why didn't you add lambdas and compile-time metaprogramming? everybody has those nowadays"