freenode/#lisp - IRC Chatlog
Search
1:03:52
LdBeth
ebrasca: a book about Common Lisp, which has a section talks about how to code walk with locally bind macros
1:09:09
LdBeth
Which is different to Common Lisp's macro, CL's macro does a little code walking to ensure some macro expansions are properly done
1:10:31
LdBeth
And Scheme's hygienic macro system is totally different, it does manipulating at syntax level
1:15:33
LdBeth
and even the limitations mentioned such as function can't take data type, I believe there're already some programming languages can do that, either with template, dynamic typing, dependent typing etc
3:42:18
dmiles
I been trying to get OPTOP or 3T to run on clisp .. whithout luck .. their defpackage systems are just too complex
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 :|