freenode/#lisp - IRC Chatlog
Search
3:20:04
Fare
anyway, next week, I'm giving a talk at LambdaConf on the general purpose parts of our OCaml runtime, and I'm not ready at all.
3:28:00
Fare
oh, Javascript. Well, the mozilla docs are decent, as long as you're looking for simple API help.
3:30:52
ck_
I was about to type "I'll keep it in mind", but I won't. So I've marked the conference into my calendar
3:41:48
Fare
My javascript code so far: https://github.com/AlacrisIO/alacrity/tree/master/examples/rps-demo
3:50:11
Fare
the common thing with require and module.exports is the standard used by nodejs for years.
3:51:03
Fare
the eczema 6 thing has lots of export and import statements, and is newer, and standardized relatively recently.
3:56:40
ck_
yeah that's always the tradeoff isn't it. great technical flexibility, but you need to infuse everything in buzzword-of-the-day because the money tap is labelled with it
4:03:20
Fare
as far as buzzword-of-the-day, we might have erred on the not-buzzwordy-enough side :-(
5:18:48
Fare
jeosol, this was raw JS, not a pretty interface, just enough to survive and demo the rest of the code
5:29:23
jeosol
I learnt JS in the past to small things here and there. Every now then I ask my front-end friends what is the JS framework to use for certain tasks and (of course) the frameworks changes all the time.
5:36:45
jeosol
Very cool. My tests with CL are small examples and I render html on server-side and just re-load the whole page.
5:52:36
jeosol
I think there is parenscript, not sure of the others. However, the JS frameworks my friends said where angular, react, and vue. Tried angular, it was a pain.
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