freenode/#lisp - IRC Chatlog
Search
15:56:40
shka_
my idea is to basicly take rrb type vector structure, and install bitmask at each node to store information about emptyness of subtree
16:29:02
cage_
jackdaniel, please can you give some more explanation about the issue on log4cl? I mean, only revert changes on watcher.lisp is needed?
16:35:01
jackdaniel
cage_: not exactly (though close). In the meantime bordeaux-threads gained semaphore implementation. so it would be reverting to using semaphores, but semaphores provided by bt (not by bt-semaphore)
16:39:31
cage_
i have changed all "bt-sem:" to "bt:" and removed all the #(+|-)ecl reader macros, i have tested only on sbcl
16:43:16
pjb
shka_: you could have a look at Numenta HTM and their Sparse Distributed Representation. They have ways to compact them.
16:47:48
shka_
i simply want R style data frame, i want to have batch operations to modify it, and i don't want to wreck it when a condition is signalled
16:48:05
Bike
i've only worked with sparse tensors in matlab, and there i think it's just a linked list
17:07:41
aeth
I guess people who chase the trendiest langauges usually switch every 5 years or so. (Or they're replaced by people who do.)
17:11:31
aeth
Compile-to-JS is the worst for this. Remember CoffeeScript? Only 6 years or so past peak hype and now "no one" uses it. If you're writing something that takes years to write, you'd have an unpopular language by the time you finished if you picked compile-to-JS.
17:12:34
oni-on-ion
julia isnt too young =) its about 10 years old now. and its 1.0 - lots of happy python/matlab/R users gone to it
17:13:23
aeth
shka_: Almost mentioned it too, but I didn't want to turn this channel into a language graveyard. :-)
17:13:41
aeth
oni-on-ion: first time I've seen Dart mentioned in like 2-3 years, and even then it was unpopular
17:15:58
aeth
oni-on-ion: I'm not sure language creation time matters with this, though. If Common Lisp became the #4 most popular language tomorrow, the clock would be ticking, and in 5 years it'd have no more than 1/3 the users, probably. Because the people who make a language very popular move around unless they have no choice (e.g. JS, C, Java, etc.)
17:16:12
pjb
oni-on-ion: they are here: https://www.informatimago.com/develop/lisp/com/informatimago/small-cl-pgms/m-expression/index.html
17:16:39
oni-on-ion
its amazing to see julia is actually super performant without going through any low level hoops. those guys have really nailed the low level and high level thing; also david a. moon is contributing to it (the lisp guy.)
17:16:40
aeth
oni-on-ion: In a sense, CL already had a few hype phases, and we're just the leftovers from that, with a few people added every now and then from reading the old literature from that hype phase.
17:17:45
pjb
aeth: it's quite different. CL was standardized in the heart of the AI winter. That calmed quite an amount of hype.
17:18:15
pjb
aeth: then, it was at a time when getting a computer able to run it would cost an arm, of a year of salary…
17:18:25
oni-on-ion
aeth: creation time?? oh, i was answering someone saying julia is still too young. but about CL, its still tied to an image, so nope
17:19:54
pjb
Now, of course, I exagerate a little, because MacLisp ran on Macintosh 512 or SE. But it was better to have maxed out the RAM (which costed the other arm).
17:20:41
pjb
oni-on-ion: prolog was invented in Marseilles in France. It's very different, it was a new kind of programming language: purely declarative.
17:23:00
oni-on-ion
prolog is french?!?!? =D i always wanted to make a chart or graph showing all the country/language of origin for proglangs.
17:26:16
pjb
Start with http://rosettacode.org/wiki/Category:Programming_Languages and use google… Or write a lisp program to do it.
17:26:30
pjb
aeth: AI is perfectly fine now, and not overprimising: http://www.wolframalpha.com/input/?i=list+of+programming+languages+sorted+by+their+author+nationality
17:26:41
oni-on-ion
true, pjb . not sure where i'd collect the data, i think by hand is the only way there
17:28:18
oni-on-ion
i had this wierd idea to correlate mother tongues (french mostly for me) with proglangs. because i have major digital identity crisis =P
17:30:58
pjb
Well he worked at the French company CII Honeywell Bull so Ada was also financed by a French company. https://en.wikipedia.org/wiki/Groupe_Bull
17:32:51
pjb
https://www.informatimago.com/develop/lisp/com/informatimago/small-cl-pgms/aim-8/aim-8.html
18:11:01
jkordani
it is said that in the few years of its use, it saved more money than darpa had put in AI research since it had started doing so
18:11:59
jkordani
the paper of it's development outlines an agile approach although I hate using that word
19:14:50
jasom
oni-on-ion: It was ARPA that funded the PDP-10 with an entire address space of core memory for MIT though, I have no idea how much that cost, and I heard it was never that reliable.
19:16:47
jasom
oni-on-ion: Yeah, they left the "D" off so they could pretend it wasn't military, but at some point gave up pretending I think :P
19:19:03
jasom
ah in 1973 they amended the charter to be "direct mil\itary application" only apparently
19:26:10
pjb
Well, anyways, even if you do pure civilian research on pure private founds, as soon as the US government deems it good for national security, they've got the laws to take over all of it, and forbid you to ever talk about it.
19:26:49
pjb
So, in essence, all the activity in the US is directed directly toward military applications.
19:30:13
phoe
when I'm defining protocols, it doesn't allow me to define duplicate functions in dependent protocols
19:46:56
jasom
razzy: defun is global, but the name for a function is a symbol; you could have a macro that does `(defun ,(gensym) ...) and you'd have a global function with a name that is unreachable
20:13:11
aeth
Almost every local function can also be a global function that's not exported. The main difference is that you might need more arguments to the lambda-list in the latter because you can't rely on the outer function's scope, but that makes things more explicit.
20:13:36
aeth
(I say "almost every" because if I speak in absolutes on IRC someone will find a counterexample. I think it's actually every)
20:15:24
jasom
definitely not every because closing over lexical variables is different from closing over dynamic variables in important ways, and non-top-level DEFUNs are odd.
20:18:57
pfdietz
Also, lexical things around defuns may not play nicely with threads, while dynamic variable bindings are (usually?) thread-local.
20:21:14
aeth
jasom: Depends on what you count as equivalent. Yes, you can no longer mutate x from within the flet function if you move it to outside, but you could have it return a value that is then set in the calling function. Since you have control over the API, whether or not that counts as equivalent is debatable.
20:22:30
jasom
there are APIs that cannot be easilly expressed without closures. It is possible they are all bad APIs though.
20:25:31
aeth
jasom: I guess you could make an argument that explicitly creating those closures from an external defun and binding the returned lambdas could still be a better API than using FLET, though. Because you could use it from multiple functions.
20:38:37
trittweiler
I try to define functions locally that are very intrinsically coupled to the parent function. Top-level functions are coupled to an object or the package instead. Local functions are not directly invokable from the REPL, so that already draws a "natural" line. Ease of meaningful naming is another thing that's often difficult for local functions (it's usually a frob-foo, grovel-foo, or similar.)
20:43:21
pjb
aeth: usually, local functions are closures. To have them global, you'd need to make them objects.
20:45:46
jasom
I used to prefer global functions just because slime/sbcl just handled them a lot better (v, what it looks like in backtrace &c.). The tooling has improved considerably since I made that decision though.
20:46:19
trittweiler
if the closed-over variables are not modified in the local functions, they can be trivially lambda-lifted
0:01:48
eschulte
Does anyone know of a serialization library appropriate for deserializing from another programming language?
0:02:20
eschulte
in particular I'm thinking of something I could combine with snooze to provide access to CL objects from another language through a REST API (and a wrapper library in the other language)
0:03:13
eschulte
oh, thanks!, that seems obvious. do you know off hand how it supports CLOS objects?
0:32:18
no-defun-allowed
has anyone ever made a program which mutates some lisp code randomly until it runs without errors?
0:33:33
eschulte
no-defun-allowed: close, see https://grammatech.github.io/sel/#Top but honestly it's support for C/C++ and assembler are much more mature than it's lisp support
0:34:03
eschulte
specifically this example usage shows repair. https://grammatech.github.io/sel/Repair.html#Repair
0:36:54
nydel
hmm, i return to an old project depending on :USOCKET package and it seems the package function #'SOCKET-SERVER is not defined. is this my end? or has usocket changed?
0:43:50
nydel
Xach: thank you - i was able to ql:quickload that right away. is this package connected to :USOCKET?
0:50:59
nydel
odd, as far as i can tell, what used to be :USOCKET is partially in :USOCKET-SERVER even though slime-mode autocompletes some functions from the latter with only the former loaded.