libera/#commonlisp - IRC Chatlog
Search
13:28:08
hayley
As the nicks have no letters in common, I bet they thought they could get away with it.
14:50:43
pjb
"The first version, termed Smalltalk-71, was created by Kay in a few mornings on a bet that a programming language based on the idea of message passing inspired by Simula could be implemented in "a page of code"."
14:59:19
pjb
Well, it's not clear from the linked EarlyHistoryST document if he wrote it in lisp or just was inspired by lisp implementation to write a smalltalk implementation in a similar way.
14:59:42
pjb
It's possible the Smalltalk lisp sources I've seen were later implementation in lisp of Smalltalk, on other systems.
15:02:26
pjb
It's funny that in 70s he worked a lot on the syntax, instead of concentrating on the fundamental mechanism such as message sending and receiving.
15:02:48
pjb
A lisper would just implement that; the syntax if sexp didn't suffice, would come later, as way of reader macros…
15:18:55
pjb
Ah yes, Dan Ingalls implemented the first Smalltalk-71 design in BASIC on the NOVA. Hey! Basic wasn't that useless after all :-)
15:37:13
Josh_2
https://docs.google.com/spreadsheets/d/14MFvpFaJ49XIA8K1coFLvsnIkpEQBbkOZbtTYujvatA/edit#gid=191987842 interesting
16:08:23
beach
lisp123_: Use CADR if you have a structure of CONS cells. Use SECOND if you have a list of elements.
16:23:29
lisp123_
I transforming the code now, but I wonder if its something that should be done at a more professional level
16:23:49
lisp123_
since it will allow paradigms of logic programming, nondeterministic computing etc, in a standard way
16:23:57
beach
It's a very naive approach, meant for pedagogical purposes. You won't get any performance out of it.
16:25:24
lisp123_
Yup its on my list, but I have to get through SICP first and then Design & Analysis of Computer Programming which you recommended and I finally got in the mail
16:26:31
beach
You need to compile to native code and do all the traditional compiler optimizations (and then some) to get decent performance.
16:29:33
beach
lisp123_: I am off to spend the rest of the day with my (admittedly small) family. I hope you can get answers from others in case you have more questions.
16:45:33
nirnam
or something in the sense of linux/posix programmer manual that can pull it out with man page
16:51:58
jcowan
WSCL has the final draft ANS in it, which is not as handy as the CLHS, but is public domain
16:54:39
nirnam
have anyone created gnu info version of hyper spec? I suppose could be as light weight and easier to access
16:58:03
nirnam
I just want cl document/manual that is complete and easy to access without an pdf read or browser
16:58:23
jcowan
Note that CLHS isn't just the ANS, it has a lot of stuff that kmp added, nottably the issues
16:58:42
lisp123_
I mean its mostly well accessible, the only benefit they get is a bit of branding - if its a large FAANG I wouldn't feel bad of 'freeing' it, but don't want to cause any issues to a small company trying to make aliving in lisp :D
16:59:07
lisp123_
nirnam: assuming you use Emacs, http://snowsyn.net/2020/01/01/local-clhs-access-in-emacs/
16:59:40
jcowan
Since anyone can copy the CLHS freely (just not modify it), LispWorks is obviously not making money on it.
16:59:44
nirnam
this here is a vim users, I don't want to say it becase I get weird look by other lisper
17:00:22
jcowan
This here is an 'ex' user (not an ex-user) who drops into vi mode to check paren mattching by bouncing on the % key.
17:00:44
lotuseater
and if i now dump parts to pandoc for creating org files and modify them just for myself and educational purpose, LispWorks will hunt me down?
17:01:52
nirnam
well, we just called out to man/info command to veiw document say in C or Perl, there's no reason to use vim itself to veiw the document since it just an editor
17:03:42
lisp123_
lotuseater: as long as you don't distribute it, I don't think there's any issues, but I am not a lawyer
17:08:11
psycomic
How is the common lisp exception system implemented? Is it built into the lisp system or is it based on lower level primitives and implemented in lisp itself?
17:08:34
nirnam
say if I distribute a script to do exactly that, fetch clhs, parse it to info doc, save it to /usr/share/doc, can I get in trouble with this?
17:09:03
nirnam
technically speaking I didn't distribute modified version of the document, I distribute something that does it
17:10:18
lotuseater
I'm sure LispWorks has an extra department for that, which then comes up with parentheses clubs.
17:11:09
lisp123_
On that topic, I bought a copy of the actual standard and was gonna share it publicly, but then ANSI stamped my name on every page lol
17:13:17
_death
psycomic: check out https://github.com/phoe/portable-condition-system/ there is also a book (which I've yet to read)
17:16:38
psycomic
_death: I'm actually reading it right now, but i don't understand all of it. I'll probably read the book
17:19:35
_death
psycomic: there are also papers related to the condition system on Pitman's site.. http://www.nhplace.com/kent/Papers/index.html
17:20:00
lotuseater
it would take me also to the next step writing serious stuff or application software for others
17:20:43
lotuseater
maybe in August a project comes up, developing a special system for someone who looks for one since 2019
19:26:06
raeda
There's LispWorks approved TeX files for the spec hosted on CMU's archive, but I don't know enough about TeX to get it to compile
19:39:03
nirnam
I think latex is another layer of complication peoples added into thing (but look, pretty formular!), whatever happened to plain old document :<
19:39:53
nirnam
I really love pod in Perl, you can embeded your document into your scirpt, and it had to tool to translate it to anything under the sun
20:54:37
nij-
Should feed the text into a running sbcl instance, invokes a sb-thread in that sbcl which handles the text.
20:55:45
nij-
should do the same thing, but let the function transform the text, with the result output back to the shell.
20:56:18
nij-
lotuseater: Connect only using emacs? Can I fit the swank instance into a shell pipe line?
21:13:47
nirnam
didn't know the first thing about sbcl, but that sounded like you could make a server and a client to sent text into the server?
21:15:49
nij-
ls | bb -i '(filter #(-> % io/file .isDirectory) *input*)' ## => ("doc" "resources" "sci" "script" "src" "target" "test")
21:16:08
nij-
However, it's achieved by taking many things from clojure, to make `bb` start up very fast.
21:16:30
nij-
If I have a running repl that will handle the input at any time, I can make use of the full force of CL.
21:17:55
nirnam
yeah that is what server were for, you can imagine that bb is a client that send thing into already running server, process it then send it back
22:00:05
mrcom
nij-: Clozure CL (CCL) is a download-and-run Lisp w/ built-in editor and REPL window. Runs on Mac & Windows. Current version (1.12) seems a bit fragile, though. https://ccl.clozure.com/
22:01:00
kakuhen
1.12.1 is released on most platforms btw, and if there isn't a binary for your platform you can bootstrap 1.12.1 from 1.12
22:01:33
kakuhen
i successfully did this on freebsd/amd64 but became too lazy to edit the portfile and try to convince the maintainer it's a good idea to bootstrap ccl (even though they already do this for sbcl)
22:02:55
kakuhen
interesting -- my mac hasn't given any problems so far, but I guess I'm not using it too much
22:03:26
kakuhen
the most problems i've had with 1.12.1 so far is trying to get a bootstrap working on fedora; it can compile itself just fine, but then loading the bootstrap image will randomly fail when loading some fasl
22:10:34
pjb
Currently, I can't save images with ccl on macOS. No deployment! I'm looking into Lispworks…
22:14:16
kakuhen
huh that's funny, I was able to successfully save a lisp image recently and prepend kernel on some project I'm working on that uses cl-sdl2
22:14:49
kakuhen
my only gripe with ccl is that cl-sdl2 will activate my macbook's graphics card even if I specifically ask for software rendering and no hardware acceleration
22:15:28
kakuhen
I can "solve" this problem by creating an app bundle and setting NSSupportsAutomaticGraphicsSwitching to YES in the Info.plist file, but that's not a quick solution, or one I can easily automate, yet.
22:17:41
mrcom
pjb: Maybe https://github.com/Clozure/ccl/issues/344 - no saved image on Mojave, Big Sur. SAVE-APPLICATOIN bugging out; TOPLEVEL not reached in PROCESS-EXIT-APPLICATION.
22:21:43
kakuhen
the command in particular I used was (ccl:save-application "a.out" :toplevel-function #'main :prepend-kernel t)
22:23:03
pjb
there's something strange happening. I put traces and break and the toplevel form is not reached when it should save the image; only the prepended kernel is saved, but not the image.
22:23:40
kakuhen
i will note my program acts funny on mac os when you try to close it the usual way, but that's because cl-sdl2 itself has an issue on mac
22:24:31
kakuhen
so on mac your graphics stuff--especially Cocoa-related--needs to be on the main thread (or else the operating system will crash your entire application)
22:24:52
kakuhen
but for some reason when you invoke the function to quit sdl, you get stuck on a syscall
22:25:13
kakuhen
when I test this game on a REPL I usually run the game in a separate thread with bordeaux threads and kill the thread once I'm done; very gross workaround, but it works.
22:27:01
kakuhen
the cl-sdl2 maintainers claim this issue only exists on SBCL, but CCL has the same problem; and I'm not sure how I'd go about collecting information to file an issue
22:27:14
pjb
kakuhen: when you quit, ccl uses process-interrupt to terminate the various threads. This may be the source of the problem.
22:29:40
kakuhen
does it behave differently on freebsd or linux then? because the game quits normally there
22:30:10
kakuhen
it's literally just mac os that has this issue, regardless of the implementation I tested it on
22:30:32
pjb
I've not posted it to linux yet. It uses mclgui, which implement the GUI classes of MCL on Cocoa (MCL implemented them on the Mac OS Toolbox and Quickdraw).
22:49:44
mrcom
I'm getting random SIGSEGVs on main thread when choosing menu items. Usually they work, sometimes they don't.
23:35:01
nij-
Thanks Josh_2. I've been looking into options of CL scripting. But I haven't tested the start-time. I'd still think the fastest way is to have a running CL daemon.