freenode/#lisp - IRC Chatlog
Search
5:59:11
Fare
angular is the older one. I'm told react is vastly better. I've heard of vue, but know nothing about it.
6:19:49
ck_
Ok, so I've asked about some progress on the slime repository in #slime around 24 hours ago, and nobody has said anything since. That channel seems to be in hibernation.
6:20:21
ck_
Does anybody here know about that repository? Is the maintainer still ... stassats, I think his name was?
6:47:03
LdBeth
If I have a CL implementation without a compiler, and COMPILE-FILE only reads input and write the output as is (maybe with syntax check), does it conform the ANSI Spec?
6:55:41
beach
I see. Well, you can then do what I have decided to do for SICL, namely I convert the source code to an "abstract syntax tree" which is like the source code, but with macros expanded, and it is more structured.
6:56:44
beach
The output looks like this for (defclass t () () (:metaclass built-in-class)) http://metamodular.com/t-defclass.fasl
6:59:13
beach
LdBeth: What is your reason for writing a new implementation? Is it going to have any characteristics that existing implementations don't have? Or is this just for fun?
7:05:38
LdBeth
beach: It seems the ANSI CL makes some assumptions on how the language is implemented
7:29:44
asarch
Does anyone know what does "got error The function NET.ASERVE::WEBACTION-COOKIE-DOMAIN is undefined." error mean?
7:39:02
LdBeth
In a more particular case, it means you've installed the dependency but it could be a wrong version
7:45:07
beach
LdBeth: What language are you planning to use for writing this new implementation of yours?
7:59:07
LdBeth
beach: probably Haskell, I'd use something like parser generator rather than reimplement READ function
8:02:23
no-defun-allowed
Odds are the parser generator would output something very close to the Lisp reader algorithm though.
8:03:15
LdBeth
Yes, but meanwhile one can utilize the parser generator interface in the new implementation
8:06:07
no-defun-allowed
It would also be easier to write a compiler to Common Lisp than Haskell for most languages.
8:08:15
LdBeth
I guess ANSI CL gets the problem because they assume people will implement CL with Lisp
8:11:16
beach
It sounds to me like your current plan will create a lot of work for you, but maybe the purpose is not to minimize the amount of work you put in.
8:14:57
beach
Clearly, large parts of the language are ideally implemented in the language itself, like defining the function CADR to use CAR and CDR.
8:15:26
MichaelRaskin
Fare: I wonder if you still care about Gerbil (never got around to implementing anything nontrivial for the Gerbil daemon in my system, everything went to Common Lisp one)
8:15:30
beach
But I would think that, for the base language, many implementations have chosen to use some other language, like C or C++.
8:27:54
beach
LdBeth: Right. And the core is not unique, which is why I declined to define such a thing for SICL.
8:32:17
MichaelRaskin
beach: Does HIR define a core set of operations needed for a SICL target in some sense?
8:33:33
beach
MichaelRaskin: Calling a function, accessing the slots of a CONS or a standard object. Fixnum arithmetic.
8:33:46
no-defun-allowed
Pretty sure Racket was worked into a language-writing-theory language at some point.
8:34:58
no-defun-allowed
Which is why it has Scribble and Datalog on the website (and partial ALGOL60 and Java implementations not on the website).
8:35:01
beach
MichaelRaskin: Binding a special variable, establishing dynamic contexts for BLOCK, TAGBODY, UNWIND-PROTECT.
8:54:14
White_Flame
LdBeth: if one of your custom reader macros itself implements backtracking, then it would have to somehow capture & restore the input stream state
8:55:41
White_Flame
why are you so concerned with backtracking and the reader? the reader performs transformations that are basically context-free
8:57:18
beach
LdBeth: You can avoid writing a new reader entirely. Eclector can adapt to the implementation.
8:59:42
White_Flame
the "context" that affects the reader are externalities like the default float format, disabling #. etc
9:01:14
beach
LdBeth: Since you can define your own reader macro functions, the reader can call arbitrary Common Lisp code.
9:01:43
White_Flame
yeah, just consider #. which can read and execute an entire major program just to read a single term
9:02:15
beach
LdBeth: Seriously, I think you are going to have to spend a lot of energy trying to turn a reader written in something other than Common Lisp into a conforming one.
9:03:04
White_Flame
personally, I which CL had some sort of higher level lexer tools in the reader, ending up more declarative. But this ideas don't sound like a step forward
9:04:00
White_Flame
it generally is best to stick with Lisp syntax, in terms of breaking punctuators and spaces
9:04:40
White_Flame
beyond that, the reader does a bit of parsing, but not to the level that most programming languages do
9:09:41
LdBeth
White_Flame: ideally I wish to make the program as close to the grammar defined in the spec as possible
9:10:29
White_Flame
and the only reason to really upgrade the reader is if you want to embed DSLs that don't use Lisp syntax
9:10:48
White_Flame
because currently existing reader tools are useful for prefixing new additions uniquely
9:14:19
White_Flame
for me, it would simply be a nicety if the reader would simply scan forward to the next breaking punctuation and give you a substring that bounded your term.
9:15:04
aeth
White_Flame: no need to fix Lisp syntax, someone already did that. https://github.com/y2q-actionman/with-c-syntax
9:15:10
White_Flame
but I assume many reader macros reuse existing READ calls and thus don't have to worry about bounding much
9:17:04
White_Flame
aeth: heh, but yeah that's not a tool to let you write reader macros in a different way, which is what we're talking about
9:17:37
aeth
White_Flame: I guess I should have directed it at LdBeth more than you, but yes, you're right
13:58:06
jmercouris
but you'll have trouble distributing a compiled application with quri since it loads a data file from an asdf system relative path
14:01:07
patrixl
noted for the suggestion to use quri, it won't solve my immediate problem though ;)
14:01:31
patrixl
filed an issue in Radiance anyway, if puri can't be updated easily then perhaps Radiance can work around it
14:02:26
jmercouris
you might look at where QL is loading Puri from and then you will be able to see how easily it can be updated
14:02:49
jmercouris
to use Radiance you had to add Shinmera's QL dist anyway, so he could easily patch it and provide a different version on his dist
14:06:20
patrixl
AFAIK it's a perfectly valid way of encoding arrays in parameters, when you're not using json to pass data around but x-www-form-urlencoded
14:06:37
patrixl
now whether that should be used as GET or only on POST requests, is another question, I may be doing it wrong lol
14:12:27
patrixl
hmm not a bad idea, it might allow me to remove even more Javascript from my page.. thanks jmercouris
17:18:35
leotaku
I am having some trouble with sbcl, maybe someone here is willing to help. Essentially "(eq (intern "foo") '|foo|)" returns true when I interactively eval the code, but false when I run it as an executable generated by asdf or "sb-ext:save-lisp-and-die".
17:24:28
ck_
the code you saved does not define the symbol before that code is run? I'm not too familiar with sbcl internals, but I would guess that '|foo| gets READ into a different package than what surrounds the (intern "foo") during evaluation
17:30:34
leotaku
ck_: That would make sense, yeah. Any way I can ensure that both the literal symbol and the intern are in the same package?