freenode/lisp - IRC Chatlog
Search
1:11:01
equwal
I was able to hack together a build script for these font variants in a few hours, whereas I have no idea how I would have done it without Roswell.
1:42:30
_death
I think a script should be two forms: load the system, apply a function with command line args.. the rest belongs in the system, which can be depended upon by other lisp code
1:57:18
_death
anyway, been using terminus (with modified lambda) for a decade now, methinks.. all other fonts are unbearable :d
2:16:57
_death
if you change the font size it looks very different.. I started with a smaller size but years take a toll
2:27:29
pjb
In a script, you must have a read eval loop, such as the reading and evaluation of later forms DEPENDS on the evaluation of earlier forms.
2:27:49
pjb
If you don't have it or don't need it, then you have a mere program that you can pre-compile.
2:28:57
pjb
Note: cl-launch doesn't allows you to make scripts, since it wants to compile your source before running it!
2:29:23
pjb
(this is the reason why in the end, I don't use, and cave in, and just transformed all my scripts into mere programs).
2:36:09
pjb
_death: well, sometimes you want scripts. For example, when you need to adapt, at run-time, to the environment.
4:08:42
drmeister
Does it make sense that (local-time:parse-timestring "2020-01-01") -> @2019-12-31T19:00:00.000000-05:00
4:12:27
drmeister
Hmm, maybe that's why - maybe I'm parsing 2020-01-01 in GMT and I'm in EST and so it's printing 2020-01-01/GMT in EST and the world is a sphere?
4:14:19
ck_
but it's the other way around, you're parsing 2020-01-01 as EST, which gets printed as GMT-offset
4:16:32
drmeister
If I parse 2020-01-01 midnight EST wouldn't that be 2020-01-01 5:00 am in the GST timezone?
4:19:02
drmeister
All I'm sure about is you europeans disappear from IRC in my evening and show up just before I collapse in bed. :-)
4:21:54
drmeister
If I force my timezone to UTC then parsing and printing gives the expected result.
4:23:32
ck_
and what does the '@' signify in the line you pasted here a moment ago? on that paste, the 'z' is for zulu / utc, right
4:42:11
drmeister
The Naggum paper explains it. If I provide the date but not the time I get ... "absolute time with time omitted, defaulting to 00:00:00Z."
4:43:03
drmeister
That's what I get for my pollyanna assumption that by leaving out the time it would just assume my timezone.
5:17:02
ck_
so the "-05:00" is a timezone signifier instead of an offset? I don't think I've ever seen that before
7:25:42
beach
Does anyone recall having seen the term "contents vector" for the slot storage of standard objects, perhaps in the AMOP? Or did I make it up?
7:29:32
beach
I specifically meant the term "contents vector". I don't think "slot index" is used, but "slot location" is.
8:55:56
ArthurStrong
Sometimes my prank can last 3-5 lines until interlocutor starts to suspect something
9:03:18
ArthurStrong
What are your favorite educational micro-LISP implementations? Like Norvig wrote in Python?
9:04:30
no-defun-allowed
Probably sl3.c, which floats around in several places. It even has a proper reader (somehow in C). I can't think of many small Common Lisp implementations.
9:07:02
ArthurStrong
By the way. Once upon a time I was reading a book about Lisp. ANd there was something like this in preface: "LISP is a good prototyping language..." Can anyone remember what book called LISP prototyping language in preface or somewhere near beginning?
9:10:25
jackdaniel
please stick to the channel topic which is Common Lisp (other lisps may be discussed on ##lisp)
9:14:14
jackdaniel
maybe, but people interested in common lisp and operators of this channel decided that moving would be a lot of effort for little gain
9:14:20
no-defun-allowed
CLISP is an implementation of Common Lisp, the only acronym that I believe is widely accepted as that is CL.
9:15:45
jackdaniel
to complete the picture, there is also #lispcafe for chitchat not necessarily related to lisp
9:17:14
edgar-rft
ArthurStrong: here's a list of irc lisp channels and what they're good for: https://www.cliki.net/IRC
9:18:05
ArthurStrong
On a completely unrelated note, I once heard about (jokish?) band named Duran Duran Duran :)
9:33:15
aeth
zhouzihao: an operating system written in Common Lisp. https://github.com/froggey/Mezzano
9:52:39
Duuqnd
beach: "freestanding code" means code that does not rely on an already established environment.
9:54:15
jackdaniel
i.e linux kernel also relies on its own estabilished environment to function correctly
9:54:45
Duuqnd
beach: I'm not sure how Mezzano works, but I think it includes a compiler that can do freestanding code.
9:55:16
beach
Duuqnd: That curious, since you just said you don't know of any system that compiles to freestanding code.
9:55:43
Duuqnd
beach: Not any standalone system. And they probably exist, I just haven't heard of them.
9:56:54
beach
Duuqnd: Either you have heard of Mezzano or you have not. You can't have it both ways.
9:56:55
jackdaniel
the facts are: there are examples of CL running on bare metal (Mezzano and Movitz as beach mentioned); there were full featured operating systems written in Lisp (on specialized hardwer, so called lisp machines)
10:00:43
Duuqnd
How about I rephrase what I said before. Mezzano includes a CL implementation, but Mezzano itself it more than that.
10:01:10
jackdaniel
if what you say is: Common Lisp standard does not specify drivers and operating system then you are correct
10:01:11
phoe
well, yes, SBCL doesn't include code for dealing with hardware or graphics or its own thread scheduler
10:03:34
jackdaniel
ACTION is tempted to throw in a statement like "but lisp is interpreted" and watch the world burn ;-) see you later
10:08:44
no-defun-allowed
But my 2¢ is that code generated by Mezzano (and I do think Movitz interpreted any functions defined in the OS) isn't freestanding, but the runtime which it utilises works directly with hardware, rather than calling into some other kernel or libc or anything like that.
10:10:25
no-defun-allowed
Yeah, there's a very large list of options you have to give to GCC to create "freestanding" code, and you probably want to set up your own cross-compiler to generate proper freestanding code.
10:11:49
no-defun-allowed
Then I would suggest that CL is more meaningless to compile freestanding than C, but all of the C specific uses of C that you C in kernels are undefined behaviour that the kernel writer likes.
10:12:00
beach
It appears that we do not have an agreed-upon definition of "freestanding", so discussing whether some compiler generates such code is not going to lead anywhere until such a definition is established.
10:13:12
Duuqnd
beach: I agree. It's hard to discuss things that nobody can agree on the definition of.
10:13:44
phoe
beach: it seems that it means that freestanding code cannot depend on anything in the OS because there is no OS to depend on - so you cannot call into libc or make syscalls and so on.
10:15:07
beach
phoe: So then, the Mezzano system is freestanding because it *is* the OS, but the Mezzano compiler does not generate freestanding code, because it relies on the Mezzano operating system for its execution.
10:15:14
phoe
gcc solves this by bundling/statically linking libc into the generated executables - in theory, so could a Lisp implementation, except it would need to e.g. use BIOS/EFI calls to write/read from standard input and storage