freenode/#lisp - IRC Chatlog
Search
4:40:29
beach
jeosol: Hard to describe. I made a resolution to have a native executable by the end of the year. That involved re-thinking the way I generate AST and HIR, so it influences bootstrapping. I am about to design the new bootstrapping phases, and then I will attack code generation.
4:41:57
jeosol
beach: Thanks. I realize my question is very broad and vague. But your response is a good summary.
4:42:56
jeosol
I was here briefly yesterday and saw some expansion you posted ( I don't recall), maybe for defclass and I wanted to ask the reason for the [ and ( brackets. But had to run. I am not expert in compiler design and just stay in the application side of things
4:43:56
beach
And I decided a while ago that the FASL format was just going to be the external representation of the AST.
4:44:05
jeosol
nice. it looked cool: I still have the link open: it was http://metamodular.com/t-defclass.fasl
4:44:19
beach
The Common Lisp HyperSpec requires the file compiler to do "minimal compilation" and this is as minimal as it gets.
4:45:51
beach
The external format is very simple. The left bracket is a reader macro character that reads a class name and a bunch of keyword/value pairs. It then calls make-instance on all that.
4:49:07
beach
Instead of source information being a file name, it is a position into a list of lines of text.
5:33:02
aeth
beach: What are the chances of your work eventually ending up in SBCL/CCL/ECL/ABCL/etc.? Or would it require too many changes?
11:07:13
didi
Question: If you were writing an IEEE 754 floating-point reader, how would you deal with reading an infinity datum? That is, there isn't infinity in Common Lisp, so if you read one from a stream, would you raise a signal or return a keyword like :infinity?
11:10:12
aeth
didi: What I would do is I would do an operation that results in an infinity or NaN, and if the user is using float-features:with-float-traps-masked then the user gets it, and otherwise gets the error. https://github.com/Shinmera/float-features/blob/master/float-features.lisp
11:14:39
didi
aeth: There are. There are two and possibly properties for one of them. Anyway, thank you.
11:15:57
p_l
does anyone have a summary sheet for when one will get a newly consed object vs a copy? Recently found myself in conundrum like that where I couldn't figure out if I'm getting a new atom based on template value or modifying a literal :|
15:20:25
_death
#( is notation for vector, #. for read-time evaluation.. whether these constant values are available at read-time is another question
15:20:26
schweers
ebrasca: #() denotes a vector and #. is a reader macro which evaluates the following expression at read time..
15:26:40
White_Flame
(vector +opt-netmask+ +opt-ntp-servers+ +opt-router+) would work to construct the vector at runtime
15:26:43
_death
a simple (vector +opt-netmask+ ...) would be better style.. if needed, wrap it with load-time-value
15:33:52
schweers
It can be good for performance to evaluate something early. Basically the same reason why one might evaluate something at compile time (besides of course generating code).
15:36:31
sjl_
I have used it in (case ...) statements before where I want to substitute in a constant instead of typing in a raw integer.
15:43:08
schweers
Well. You can design a set of read macros and the like in order to read a syntax tree from C source code. But that alone is not enough to compile or even evaluate said code.
15:43:35
housel
If parsing C with readmacros were possible somebody would have done it in the past 30 years
15:46:08
sjl_
Xach: I've been sick the past few days, but I did get your ping about the pgp stuff. I'm still willing to be a guinea pig.
15:47:04
Xach
sjl_: thanks. right now i'm expanding from RSA-only keys and signatures to DSA and ElGamal keys and signatures. After that there might be something to play with.
15:47:45
Xach
I think I may factor this out into something standalone, too. It has IMHO useful compact/extractable SHA routines for one.
15:48:01
Xach
I like ironclad but it is very difficult to use just part of its hashing code. It's tied together.
15:48:18
sjl_
Yeah, those could be handy. Also easier to audit a standalone package if anyone ever decided to pay a security person to audit.
15:48:29
Xach
If you can accept not being as fast as ironclad I think a self-contained library to copy is useful.
15:49:53
sjl_
and how difficult it would be to find a security person willing/able to look at Common Lisp
15:58:58
_death
wonder what would happen if you place CL tasks on a site like fiverr.. with enough tasks, CL could become popular ;)
16:23:38
markasoftware
say I try to access the billionth element of a small circular array...will sbcl optimize it properly?