libera/#commonlisp - IRC Chatlog
Search
10:38:19
kenran
Is anyone of you using the croatoan library to create simple ncurses projects? Aside from my REPL issue (opened it on the GH page) I'm struggling with the understanding of how to use it (probably from my lack of Common Lisp experience). I'd appreciate any pointers, for instance to existing projects, or also advice on how to "discover" the usage of the API interactively (using Emacs).
10:39:56
kenran
_death: I was just about to write... I discovered this right now as well. I thought these were supposed to be "just tests", but apparently there's lots to discover there. Thank you!
10:41:26
contrapunctus
kenran: you could probably contribute some documentation based on it. See https://diataxis.fr if you decide to.
10:45:29
kenran
I'm wondering how much of my failure to get started can be attributed to missing docs though, versus just lacking familiarity with Common Lisp and the ecosystem on my part. I assume most (all?) of it is the latter :) for instance, I'm struggling to "run" these tests, but at least now I understand why I get errors.
10:50:36
_death
to run them you'd load system "croatoan-test", (in-package :de.anvi.croatoan.test) and call the functions (you need to start sbcl in a terminal and connect to it using slime)
10:53:15
kenran
ah ty, I was missing the croatoan-test part (hacked it to work though. The game-of-life example is a little glitchy for me (black bars appearing from time to time), but cool, something working that I can read :)
12:13:18
louis77
mh, everytime I have to fire up a ruby app on my dev machine that I did not touch for half a year, I spend at least 1 hour to try to get the correct ruby version compiled on my machine, have the exact proper bundler version and then hope that all the "Gems" are still compiling and running - which most often they do not - I really come to appreciate the prospect of eternal stability of Common Lisp.
12:15:53
louis77
a few days ago I installed a CL lib, 9 years old and it ran with -- zero -- issues.
12:16:04
kakuhen
python at least somewhat mitigates it with virtualenv; ruby has no direct equivalent
12:16:31
pjb
louis77: and for older code, you just need a few lines: http://informatimago.free.fr/i/develop/lisp/com/informatimago/small-cl-pgms/wang.html
12:18:39
louis77
pjb: I would really like to run a Lisp program from the sixties or seventies with that example, just for the fun of it
12:20:16
louis77
But it came to my realization that there is a commercial interest in the complexities of these dev enviroments
13:30:52
pve
Hey, is there a name for symbols that are internal to a package and whose home package is that package, i.e. they were not imported?
13:33:30
beach
pve: There can be no name for such a symbol, because the same symbol can be present in different packages as well.
13:38:11
beach
That does not work either, because a symbol can be uninterned and then interned in a different package so that its home package changes.
13:38:51
phoe
at any given moment there is at most one home package for a symbol and that is the tightest guarantee you can get
13:42:31
beach
I prefer to invent a new name and to explain what it is by a definition, than to try to invent a longer self-explanatory name.
14:08:31
pjb
Symbols cannot be interned in several packages, since INTERN takes a string, not a symbol. A symbol can be imported in several packages, making it present in those packages, even if they're not his home package. (Of course, if the symbol didn't have a home package, the first import will "intern" it in the package).
14:09:12
phoe
pjb: interned adj. Trad. 1. (of a symbol) accessible[3] in any package. 2. (of a symbol in a specific package) present in that package.
14:09:27
phoe
because the first definition of interned is too broad and the second definition is also too broad
15:08:55
ldb
Someone from mastodon says it would be nice to have an search interface to dpANS items. https://emacs.ch/@louis/109738285416858235
15:12:47
ldb
haha, I only use the index page in hypespec for finding things. Don't like do everything from emacs.
15:15:09
ldb
anyway, I think I can make "machine readable" version for dpANS when I have free time, probably in XML, so people want a web search interface or new hyperlinked PDF version can do whatever they want.
16:00:18
louis77
ldb: I started to compile "my own" Hyper spec index as a learning exercise and realized how great it would be to have the ability to group/sort the functions, declarations and variables by category/data type
16:08:20
beach
And how would you be able to list all declarations. There is an infinite number possible.
16:09:02
beach
And that is probably why I don't understand what it is you plan to list that is related to declarations.
16:13:40
jackdaniel
as beach pointed out there is an infinite number of possible declarations, because you may put anything as a name
16:14:16
louis77
Well then I guess the HyperSpec is imprecise: "A type declaration is valid in all declarations."
16:14:19
jackdaniel
perhaps what you mean is something what we could call a declaration template where arguments are some stand-in meaningless symbols or other markers
16:14:58
jackdaniel
and right you are, entries for particular declaration identifiers list them as a declaration
16:17:21
louis77
anyway, I appreciate your passion for parsing out all the different overloads, but regarding my post I still think there is room for a more accessible HyperSpec _index_.
16:18:50
louis77
Bc. there _are_, as improbable that may sound, devs who are new to Common Lisp and the HyperSpec can be overwhelming for beginners.
16:19:53
ldb
louis77: have you used Dash (the searchable documentation set for programming languages)
16:20:24
Nilby
the master index and the glossary are fairly good, but they aren't well laid out in html because people in the old days were concerned about pages being too big
16:21:08
louis77
for example, all functions that have anything to do with STRING and if they are destructive or not
16:21:27
louis77
for every function a very short description so that I can quickly decide the possible candidate for my problem
16:22:38
louis77
in an academic background people may be used to spend 90% of the time reading and memorizing the hyperspec, but - let's say - as a hobbyist (using Lispworks license edition terms) - I would rather be productive sooner than later to get some sense of success.
16:23:11
ldb
for "a very short description" for every functions There is quick ref http://clqr.boundp.org
16:23:52
jackdaniel
I don't think that you need to justify what you are doing, some people here will agree with you and some won't
16:25:03
louis77
jackdaniel: as I said, it was more an exercise for my own journey, because I feel frustrated when I have to lookup hyperspec for every link of code I write and I have a very bad memory.
16:25:26
jackdaniel
well, common lisp standard is a standard, I wouldn't call it a handy reference manual
16:25:40
jackdaniel
but the same thing may be said about c standard and alike, it is just a different kind of document
16:26:21
jackdaniel
l1sp.org links also 'practical common lisp' chapter for symbols that are mentioned there, that would be more ekhm practical :)
16:27:32
jackdaniel
using scymtym's parser and pretty printing in a format of your choice would be probably much easier than writing incomplete and bug-ridden tex parser
16:28:19
louis77
by the time I would be finished with my manual solution I probably don't need it any more but that is a gain in itself :-)
16:28:57
_death
you can also use something like https://github.com/gigamonkey/manifest (I have an old fork) which is not limited to standard CL symbols.. adding full-text search shouldn't be a big deal
16:29:59
louis77
In CL world there are so many great books that either teach entry level programming with Common Lisp (PCL) or are an overview of Common Lisp without the trillions of delicacies you will confront when you write actual production code
16:31:15
pjb
louis77: in the hyperspec, you already have a dictionary per category aka chapter with a ToC for each.
16:31:23
louis77
There is a clear gap in literature that targets programmers with experience in conventional languages which are used to modern toolkits, assistive IDEs and good documentation.
16:31:37
beach
louis77: We do need a language reference, though. Probably in the form of a website. So if you want to start something like that, I would be happy to contribute.
16:33:15
pjb
louis77: but you're right the hyperspec is a specification/reference mostly for implementers. For newbie, it's harsh, and better tutorials exist.
16:34:59
louis77
so that you guys slate me for substituting "declaration identifiers" with "declarations" ? :-)
16:35:00
pjb
louis77: functions about string: http://www.lispworks.com/documentation/HyperSpec/Body/c_string.htm but you also have to know that strings are vectors and sequence, so http://www.lispworks.com/documentation/HyperSpec/Body/c_sequen.htm and some of http://www.lispworks.com/documentation/HyperSpec/Body/c_arrays.htm also apply.
16:36:34
ldb
ACTION don't think there is even one existing book that teaches XSLT3.0 (and the upcoming 4.0), lol.
17:07:48
kagevf
louis77: you might also want to check out this one: https://jtra.cz/stuff/lisp/sclr/index.html ... it has functions grouped by things like "math" "conses" "sequences (including strings)" and so on
21:01:03
NotThatRPG
pve: Yes, but isn't it the case that you only get a command and a single argument in a shebang script?
21:03:44
pve
NotThatRPG: I think "/usr/bin/env -S sbcl --dynamic-space-size 1000 --script" might work, not sure though
21:25:51
NotThatRPG
pve: that didn't work for me -- I get a bash error saying /usr/bin/env: bad interpreter: No such file or directory
21:57:36
NotThatRPG
yitzi: The problem is that the server that is running SBCL is so ancient that it's /usr/bin/env doesn't accept the -S option! :-(