freenode/#lisp - IRC Chatlog
Search
21:30:48
jasom
first complete run of ql2nix results in over 3800 packages: https://paste.pound-python.org/show/XJrapdCPh9Ml58uDG2FW/
23:07:26
whoman
https://ia902603.us.archive.org/30/items/byte-magazine-1979-08/1979_08_BYTE_04-08_LISP.pdf
23:17:58
jasom
axion: also I accidentally forgot to update quicklisp before running, so it was running with september of last-year QL
23:18:26
aeth
whoman: I think the problem with alternate syntax to Lisp is that the various failed proposals (I think M-expressions were the first) were intended for general-purpose computation.
23:18:35
jasom
all packages tha depend on iolib are also missing because the libfixposix in nix was too old; I need to check if it's been updated now
23:19:17
aeth
whoman: Alternate syntax embedded in macros or reader macros or even strings for special cases can definitely work. For macros, see loop. For strings, see cl-ppcre. For reader macros, I'm not sure of any, but there probably are some.
23:19:44
White_Flame
aeth: afaik, m-expressions weren't a post-sexpr alternate, s-expressions were created as an AST structure to back m-expressions
23:21:39
aeth
Well, I can imagine someone making a CAS-like frontend to Common Lisp for some special circumstances. Macsyma/Maxima is sort of an early case, although it probably predates CL implementations and general computers being fast enough to do the whole thing in pure CL.
23:22:01
aeth
Of course, I just do scientific computing directly in s-expressions when I need to, but I'm unusual.
23:22:55
aeth
A good alternative would be a polyglot *CL* where you can nest a rough equivalent to any language you care to use.
23:23:36
aeth
Lots of people have made Python knock-offs and JavaScript knock-offs for their platform. Not trying for a 1:1 implementation would make it easier to basically make it familiar syntax on a fast SBCL core without semantics that deviate too far from CL's speed strengths.
23:25:40
aeth
One alternative to a CLR/.NET or JVM approach is just to implement languages on top of CL. Something for light scripting, something purely functional, something that is static, something that's like a CAS, something SQL-like, etc., all could coexist. CL is just about flexible enough to morph into different things.
23:26:19
aeth
Of course, even if you did that, there's not too much of a reason not to use s-expressions except maybe in the approachable scripting language and the CAS language.
23:27:01
aeth
(In case anyone is confused, I'm talking about computer algebra system when I say "CAS". Wikipedia has about 50,000 entries in the disambiguation page so that won't help you if you don't already know the acronym.)
23:29:19
aeth
What would probably be doable is building a Scheme, a Python-like language, and a JS-like language all on top of a common language core, running in CL. It wouldn't be portable due to a few issues (e.g. floating point NaN/inf/etc.), but could probably be made to run on SBCL, CCL, and ECL.
23:31:09
aeth
Nesting them all in one REPL wouldn't be pretty (if they don't use s-expressions), but once you write the ability to compile strings and files to CL, you also have the ability to use reader macros to do the same thing, assuming you used a character stream approach for all three.
23:32:00
aeth
I already have near-seemless integration between Brainfuck and CL as a proof of concept.
23:32:42
aeth
It becomes more complicated if you have a real language, though, because you'd need to add a lot more syntax and semantics, and you'd have to essentially have a clffi interface between the implemented-in-CL language and CL.
23:35:25
aeth
I suspect that CL also probably would need some extensions to be adopted by popular implementations if it suddenly became a compilation target.
23:39:41
phoe
aeth: I think you can define brainfuck subfunctions though by means of string input and output though
23:40:30
aeth
There are definitely places I could go with cl-brainfuck if I wanted to add features and revise it for 2018-04-01... or I might want to come up with something new for that event, I'm not sure.
23:41:27
White_Flame
(defun-bf q (ptr array) ...) could add the character 'q' to the language, passing in the current pointer
23:42:26
aeth
phoe: The lack of first class environments is probably the #1 issue for the idea of implementing many compile-to-CL (or merely interpreted-on-CL) languages and iteroperating them, afaik.
23:44:17
phoe
He'll most likely think twice if he wants to change the world for the better if aeth goes up to him and says "hey, you've been reading on these first class environments, possibly did some work on implementing them in Clasp/Cando, can you share it with me so I can write a proper Brainfuck compiler?"
23:44:35
aeth
Bike: Yeah, but cl-brainfuck was really a test run for some approaches I could use in cl-scheme, which I will resume work on at some point.
23:44:58
aeth
And environment workarounds for Scheme in CL are not fun, and will probably hurt interoperability and debugging.
23:45:28
phoe
making the smallest and most efficient water filters versus Brainfuck/CL interoperability:
23:46:48
aeth
phoe: Brainfuck is actually a very useful language because it is a tiny, well-defined language. Something like cl-scheme would never actually be a complete project, so it can't actually test features that require a literally complete project.
23:49:02
aeth
pillton: There's the difference between completing something and having something 100% complete. A very tiny language with a very tiny standard could actually be complete. Probably could even be formally proven.
23:50:32
aeth
phoe: Very small programs can be proven that they meet their specification. Something like a CL implementation probably cannot.
23:51:49
aeth
Correct with respect to a specification, if it halts (obviously, the halting problem is a problem).
23:52:35
jasom
ugh; updated nix disallows md5 as a hash for verifying URLs it fetches... time to calculate sha sums of all of quicklisp :(
23:58:22
aeth
jasom: Can axioms really be incorrect, or is it more of an issue of whether or not an axiom is useful?
23:59:42
pillton
There is an example in Mark Tarver's book Logic, Proof and Computation where the proposed logic system had an incorrect axiom.
0:00:25
aeth
Afaik, math is only wrong if there is an error in a proof, or if there's the standard philosophical skepticism arguments of e.g. you could just be dreaming, etc. But other than that, math is pretty certain, and it's really when we try to apply it when things get messy.
0:01:32
aeth
pillton: But is that kind of axiom incorrect, or does it merely make all results useless?
0:03:37
aeth
Logic, afaik, belongs to three academic disciplines. Philosophy, computer science, and mathematics.
0:06:25
jasom
aeth: people debated e.g. if the axiom of choice was correct or not, for certain definitions of "correct"
0:09:21
phoe
but if you chose that it's incorrect, then it means you couldn't have chosen it because of the axiom of choice is incorrect
0:09:35
jasom
and wikipedia says "Whether it is meaningful (and, if so, what it means) for an axiom, or any mathematical statement, to be "true" is an open question[citation needed] in the philosophy of mathematics.[5]"
0:11:59
aeth
jasom: If I were suddenly to find myself with a billion dollars, getting a PhD in the philosophy of mathematics is something I'd consider doing. It sounds like a very interesting field that no one outside of academia would take seriously due to its lack of practicality.
0:13:21
phoe
aeth: don't tell me you wouldn't spend a few kilobucks to getting a working CL Brainfuck environment
0:15:45
aeth
I think the main question is, when dealing with the foundations of mathematics, how meta can you get?
0:40:30
jasom
well I have to eat dinner; rebuilding the releases.cdb with sha256 sum instead of md5 made quicklisp unhappy; I'll have to figure out a better way to do this later.
3:35:32
whoman
aeth, White_Flame, ahh, i see =) also, interesting ideas. racket does some way to handle multiple 'languages'
4:10:25
aeth
(Alternatively, there may be many considerably better ideas, but we're all stuck thinking in the current trends.)
4:35:33
jasom
hmm quicklisp generates a database from a text file, but it also sometimes reads directly from the text file.
5:08:42
drmeister
Is gitlab.common-lisp.net a standard common lisp repository? I'm trying to pull asdf but it seems to be down.
7:13:38
jasom
ah, lparallel is wonderful. I added parallelization to something I had never designed to be parallel in about 30 minutes.
8:46:39
beach
devon: McCLIM is actively being worked on. We hang out in #clim in case you need help, or in case you feel like contributing.