freenode/#lisp - IRC Chatlog
Search
5:07:13
jeosol
is there any analogous member function for checking if an element is a member of a 1D vector or just convert vector to list?
5:08:55
beach
jeosol: The entire chapter on "sequences" contains functions that work both on lists and on vectors.
5:09:47
minion
There are multiple help modules. Try ``/msg minion help kind'', where kind is one of: "lookups", "helping others", "adding terms", "aliasing terms", "forgetting", "memos", "avoiding memos", "nicknames", "goodies", "eliza", "advice", "apropos", "acronyms".
5:11:14
minion
beach: please look at Universal Greeting Time: It is always morning when a person enters a channel, and late night when they leave. You may want to read http://www.total-knowledge.com/~ilya/mips/ugt.html for further information
7:08:09
anlsh
hmm well I just got it to work so I think I'm gonna leave it alone for a nice long while :D
11:00:55
pfdietz
These automatically update all your packages things seem like a version control nightmare.
11:37:27
lukego
pfdietz: I'm not sure what the context of your comment is exactly, but I think a really interesting point in the design space is dependency sets that update automatically but are also tracked in version control. That way when something somewhere breaks you can 'git bisect' to find the problem. I can sometimes do this with nixpkgs dependencies, https://github.com/lukego/blog/issues/17
11:38:50
pfdietz
It was referring to an earlier discussion here of Ultralisp. Your comment is interesting and useful, thank you.
12:54:50
easye
lukego: Having a bisect command available to use is always very handy. hg bisect works well for me!
12:58:19
lukego
I'm just thinking about how to take that to the next level now. Current crazy idea is a Lisp-based DSL for writing network dataplane applications that transpiles them into various targets e.g. CPU/GPU/FPGA. So have to learn a bit about CUDA and HDL now... which is a fun problem to have :)
12:59:18
easye
Know of any good hosted CUDA solutions? I don't need my aging equipment's fans wheezing around me.
13:00:10
easye
ACTION been meaning to get to GPU/FPGA now that I have a reasonable CFFI working in abcl-1.6.0
13:00:48
lukego
EC2 seems to be a one stop shop for CPU + GPU + FPGA now. GCE does GPU at least too. Just recently realized that Amazon F1 FPGA instances provide ~1Tbps of CPU<->FPGA I/O bandwidth (8 x PCIe3 x8) and so it should be fine for doing really high-end development. $13/hour but I think you'd only run the big iron about 1% of the time during dev anyway.
13:01:51
lukego
I have a bunch of servers full of e.g. 100Gbps network cards at home but I think I'll move my testing over to EC2 with FPGAs pretending to be NICs under heavy load. Safe the noisy boxes at home and their care and feeding.
13:03:19
lukego
I moved from Switzerland to Sweden recently and was tempted to leave the boxes behind, but they ended up being pretty easy in a moving van.
13:03:59
lukego
pfdietz: yeah. I had all the servers in a cool cellar before, but at my new digs I don't know if I'll be able to keep them happy in summer.
13:04:31
puchacz
hi, is it possible to log all sbcl output to a file (but keep printing it as usual)?
13:55:08
drmeister
If I knew what Instagram was I’d Instagram these. https://usercontent.irccloud-cdn.com/file/ht9VDfBH/1574603679.JPG
14:23:01
sugarwren
mit-scheme appears to support threads (it has at least the procedures current-thread, thread? and create-thread) but I can't find any further information in its docs
14:23:41
drmeister
I've been working on figuring out how to make sourdough bread - that's my fifth loaf and the first one that looks good.
14:24:27
drmeister
This time I tried scalding 1/3rd of the flour and my starter "Wheatley" was especially precocious this week.
14:25:14
drmeister
That's just a bit of backstory - I had meant to post that to #clasp where we talk about developing of the Clasp implementation of Common Lisp and baking.
14:27:26
drmeister
Has anyone generated Microsoft Excel spreadsheets by some other approach than CSV files using Common Lisp?
14:37:01
drmeister
Yeah - I've been searching the interwebs - it doesn't look good. I'm looking into the XML formats now.
14:44:21
flip214
--accept=accept-string Specifies a UNO-URL connect-string to create a UNO acceptor through which other programs can connect to access the API.
15:26:43
knegg
im reading a book on neural networks and LISP came up and im reading about homoiconicity. i have some basic programming knowledge and am trying to figure out what the specialty of that homoiconicity is.
15:34:13
beach
knegg: There are no "commands" in Common Lisp. EVAL is a function that that takes data that represents code and executes that data as if it were a program.
15:35:58
knegg
hmm.. data that represents code. if something is code then its code unless i would mark it as text in vba (sorry - i said basic :])
15:37:08
puchacz
knegg, you may want to see the presentation "clojure for java programmers", where the clojure author explains what "code is data" means in lisp world
15:37:29
beach
knegg: In Common Lisp, the READ function turns a sequence of characters into a data structure. Whether that data structure represents code or not depends on what other program is processing it.
15:38:14
beach
knegg: For example, if it is further processed by the compiler, then the compiler assumes that the data structure represents code.
15:47:51
beach
knegg: Most languages do not expose the representation of code, other than as a sequence of characters.
15:48:29
beach
knegg: Common Lisp has a defined way of turning that sequence of characters into code represented as nested linked lists, symbols, numbers, etc.
15:49:15
beach
knegg: Then, everything else in the language is defined in terms of those nested lists.
15:50:06
knegg
the big point must be that the following java code (in that video) for that simple example is about 3 pages long.
15:52:38
knegg
i think i need to get what that code is doing. he defines a function that sets variable b (which obviously is not a variable because it is lisp/clojure)to 15. then by that function (eval a) he returns that "variable" and for the program this is both the variable and the value 15 ? am i getting it right so far?
15:54:32
beach
knegg: I didn't watch the video. But let's do the analogous thing in Common Lisp, to be on topic. If I type (defparameter a '(defparameter b 15)) for instance...
15:54:46
Bike
that sets the value of the variable A to be a list of three elements SETF, B, 15. then (eval a) means the value of A, that is, that list, is passed to the eval function, which treats the list as code and performs what it says to do, namely (setf b 15), which sets the value of the variable B to be 15
15:57:13
Bike
also, in his notation here, the return values are indicated in the comments. (eval a) will return 15, not the symbol B
16:03:17
Bike
well, we might more specifically say A is a symbol that names a variable, but we often conflate the name with the variable
16:06:17
jackdaniel
setf is an operator which sets places (place is more general than a variable behind a symbol
16:10:15
beach
knegg: You can see it as if in C you had a function eval that let you do eval("b = 15"); the result of which would assign 15 to the variable b.
16:10:31
knegg
so 1st line defines what happens when a is called/executed. then 2nd line does that and the variable b is set to value 15. then 2nd line is just "a" which i take the program to run the thing and assign the value 15 to variable b.
16:11:20
Bike
your framing in terms of "called/executed" is wrong. a variable binding is just a mapping from variables to values.
16:12:08
Bike
the first line sets a value of a. the second line just returns the value of a without doing anything.
16:12:47
Bike
between lines two and three, B has no defined value, unless it was defined earlier i guess.