freenode/#lisp - IRC Chatlog
Search
19:03:09
_death
well, you can just use a function to generate the function.. you'll pass #'set-service-parameters to it instead
19:04:22
engblom
_death: I do not understand how. The problem is that the clog obj will always be passed to whatever I give (set-on-change ...)
19:08:38
_death
you need a function that takes f and x, and returns a function that takes an obj (and ignores it) and calls f with x
19:19:09
_death
so now you can change the name to a more general name, say ALWAYS and have it take &rest parameters instead of just (f x) or (obj).. or you could call it say ALWAYS-FN and have an ALWAYS macro that expands to `(always-fn (function ,function-name) ,@args)
19:20:18
_death
so that you can write (always (set-service-parameters p)) ;; inner parentheses are stylistic
19:23:26
kiwichap
so like there's certain parts involved like authentication, session, different users
19:25:42
theothornhill
kiwichap: lisp can do that for sure. I guess it depends on what you'd be interested in focusing on. If just getting that app up and running, I'm sure some python, ruby og js frameworks will be quicker
19:26:34
kiwichap
I never did any of them and haven't done all the much programming but I somehow got a degree in it if that makes sense
19:26:55
Xach
Yeah, there are other environments where tasks like that are a matter of filling in some blanks. Common Lisp isn't one of them, mostly.
19:28:06
kiwichap
I did a little bit of Java in school , so much complications there, then I did some php on my own, I did my first cgi scripts and a hello world or 2 in lisp
19:28:29
Shinmera
here's a start then: https://github.com/Shirakumo/radiance-tutorial/blob/master/Part%200.md
19:55:29
rumbler31
phoe: I'm looking at running your ansi-tests branch of ccl. I'd like to reproduce your results. How did you go about building that branch?
19:57:08
phoe
I will be able to help you build that on Thursday or later - right now I'm 100% in ELS-local-chairing mindset
20:03:23
rumbler31
yea I bet. I'm disappointed because I was looking forward to watching it live, but this is the week I have to go into the office and I won't be able to watch
20:14:46
_death
I asked because I never looked at abcl.. but I just cloned it and cloc gives about 60kloc in each language
21:09:19
LispSporks
Probably means where it saved it and where you tried to rename it too, are on different filesystems. Try a file copy instead.
22:14:38
|3b|
ACTION wonders if slime's receive-if (on sbcl) should bind *break-on-signals* to NIL, since it seems to get confused if condition-wait SIGNALs a deadline, causing it to try to run a debugger-loop inside the with-mutex, which does receive-if, which gets recursive lock error in with-mutex, which runs debugger, etc
22:15:32
|3b|
or if there is some better way to handle things, or if that isn't what's happening in the first place
22:39:30
|3b|
or alternately, if force-output on slime-output-stream shouldn't use deadlines in the first place
22:43:45
|3b|
(let ((*break-on-signals* t)) (loop repeat 10000 do (format t "~c" (code-char (random 1000000))) (force-output))) seems to reproduce it reliably (random characters so emacs has to go digging for fonts slowing it down enough to trigger the 0.1 sec deadline)
22:46:31
mister_m
is there a way to check for the presence of a value of a slot in an object without tripping an UNBOUND-SLOT condition? I was using (slot-value ...) when I ran into this, thinking I could test with (null ...)
0:26:20
mister_m
using slime, is there a way to recompile a function in a manner like C-c C-c, but with `(declare (optimize debug))`? I can add that to the function and recompile as normal, but I am wondering if slime can do this for me.
0:27:26
no-defun-allowed
See the documentation (i.e. when in a Lisp buffer, type C-h k C-c C-c): "With (positive) prefix argument the form is compiled with maximal debug settings (āC-uā). With negative prefix argument it is compiled for speed (āM--ā)."
1:38:12
nij
minion: memo for theothornhill: I've read the log again.. and I melted. Thanks so much :-D Let me know if I can help any.. (beware i'm just a noob)!
1:38:36
nij
minion: memo for beach: Good news from theothornhill! Seems like UltraSpec is going to come back alive :-D
3:04:19
minion
beach, memo from nij: Good news from theothornhill! Seems like UltraSpec is going to come back alive :-D
4:07:31
nij
How is an ffi designed? In particular, if I want to call a foreign abstract object (and play with it) in lisp, what should I do? Must I write a wrapper that models the foreign object in terms of a lisp object? Are there some known cases that won't work in lisp?
4:11:11
jcowan
THere are two ways to do it: write the C (or Blub) function using a specific signature that Lisp uses, or write a Lisp function that provides a C signature. In other words, either weird C glue or weird Lisp glue.
4:14:26
moon-child
most languages that are willing to speak to other languages do so using the c abi
4:15:22
White_Flame
FFIs are pretty complicated, in terms of GC walking the stack and knowing what's lisp vs C (or other), as well as needing native pointers & allocations represented in with lisp tagged values
4:15:30
moon-child
c++ abi has been implemented by non-c++ compilers twice as far as I know (d and raku). Both implementations are incomplete. C++ abi is huge and horrible. That's not a road you want to go down
4:17:13
White_Flame
you asked how it's _designed_. feel free to use them. don't try to design them as some introductory project
4:17:20
nij
Very interesting.. I wonder why languages are so hard to translate.. even in the realm of computer science.
4:18:09
White_Flame
every language has its own notion of memory allocation, how strings are structured, etc
4:18:51
moon-child
even languages with very similar type systems, like lua and js, you would probably run into trouble with
4:21:26
moon-child
remby96: _compiling_ one language to another isn't difficult. What's difficult is retaining the language-level semantics and type system as you do so in a way that makes interoperation practical
4:24:09
White_Flame
and what's difficult is sharing a single process address space with a different language's running binary stuff
4:24:26
loli
The type theory bit shouldn't be too bad, you are taking one formal mathematical system and compiling it to a stronger or weaker one. Idris, and Agda both compile down to Haskell this way
4:24:47
loli
Haskell and other languages compile down to eventually remove their type theory, or compile it down to an IR with weaker type theory
4:25:44
White_Flame
in fact, on the symbolics lisp machines, they had a C compiler that generated lisp processor machine code and played nicely with the system (if slow)
4:25:58
nij
> moon-child: "What's difficult is retaining the language-level semantics and type system as you do so in a way that makes interoperation practical" ;; <= this!
4:27:57
loli
there is interesting research with graded model types, where you can get a system F system out of it, so you could program in such a system and use languages with type systems in System F, or export to them in this way
4:28:15
saturn2
C programs on the lisp machine created a lisp byte-vector to function as the C program's "memory"
4:30:17
loli
moon-child: I'd have to drudge that up, but it comes out of better way to do QTT (think linear types on steroids)
4:30:56
pyc
Is it possible to do string interpolation within format using variable names, e.g. something along the lines of (format t "hello, {{name}}") ?
4:33:09
loli
does CL-INTERPOL change the " reader macro, or does it define a custom define function?
4:35:33
no-defun-allowed
I heard that they could run TeX on a Lisp machine using the C implementation, so it probably worked well enough.
4:36:50
no-defun-allowed
...though TeX is written in literate Pascal, and a conversion program generates the C code.
4:37:17
loli
why the conversion, do more systems just run C, or is it due to performance or maintainability concerns?
4:37:47
no-defun-allowed
Yeah, there are more systems with C compilers than Pascal - Lisp machines had both though.
4:38:15
loli
Is there a lot of literature on the Lisp machine, it seems a lot of that knowledge was lost with time
5:10:30
White_Flame
as far as symbolics goes, there's a lot of scans of both manuals & internal documents that are online now
5:11:09
White_Flame
there's no complete description of everything from the ground up, though, especially in terms of making a bootable image from scratch
5:12:46
loli
I guess i haven't been looking too hard then. I've found image literature lacking in general. Factor and MIT Scheme have some bits, but not much besides that
5:13:03
remby96
there was some website that had a lot ... I had to use it to get some info on the ibm 7094
6:50:44
susam
remby96: European Lisp Symposium - https://european-lisp-symposium.org/2021/index.html / https://www.twitch.tv/elsconf