freenode/lisp - IRC Chatlog
Search
15:29:20
sabrac
why does ironclad:prng-random-data open /dev/urandom and never provide a way to close it? Or am I missing something?
15:38:10
_death
a common criticism of /dev/urandom is that it can become unavailable when there are no file descriptors available
15:38:33
sabrac
stress testing an update to postmodern triggered a "too many open files to /dev/urandom" error. And it became unavailable as you just said.
15:41:05
sabrac
Yes. If I do not, I trigger another error claiming a private thread violation. Still trying to figure that one out.
15:41:24
_death
indeed the code in that file looks a bit strange, since it creates one for each thread :/
16:00:28
_death
(I believe it's safe for multiple threads to read from the same urandom fd.. see also https://stackoverflow.com/questions/12245054/linux-3-5-safe-to-read2-from-same-fd-open2-dev-urandom-from-multiple )
16:16:22
_death
closing the file descriptor means you may need to reopen urandom, leading to a greater chance of failure
16:29:15
Shinmera
I think in my web framework I have an explicit workaround where I bind each thread to a new rng
16:42:58
_death
I guess it could fail because of read-sequence (and not posix read).. maybe specifying that the stream is not buffered would make sense on some implementations, or maybe straight posix calls is a better alternative.. choices
16:51:41
_death
seems dl.acm.org removed my IP ban ;).. I'm gonna create a list of the stuff I wanna download and slowleech it
17:36:11
jmercouris
however, can I use Lisp to somehow introspect what the keycode actually is as a character when printed on screen?
17:37:14
jmercouris
I believe I would need to know what kind of keyboard the user has, as well as what operating system they are on
17:42:28
mercourisj
I know this is a Lisp channel, but why do other languages use such varied syntax for function calls and data passing
17:42:52
mercourisj
I'm just thinking for example about the << operator in C++, and wondering why you would possibly need it
17:43:34
mercourisj
BTW, thanks for the feedback about chars, I decided to do it in C++, but my message did not go through about that
17:45:59
jmercouris
I'm just struggling to imagine a justification for this, I always accepted it when I first learned the languages, but now I am wondering why anyone would do that
17:47:45
jmercouris
I'm looking for some overarching reasoning behind the justification of different calling conventions in languages
17:48:19
jackdaniel
homoiconity is great and all, but it is not that elaborate syntax is without merit - good syntactic sugar gives your code a well justified mold
17:49:29
jackdaniel
"ordinary" function calling notation is directly inherited from standard math notation
17:50:11
jmercouris
and why did they think it was a wise idea to combine so many notations and patterns?
17:52:33
_death
nobody decided the syntax of math, people came up with their own notations and some prevailed over others, sometimes for good reasons, other times not
18:06:19
pjb
jmercouris: you can use com.informatimago.common-lisp.cesarum.ascii:ascii-code and code-ascii.
18:07:57
pjb
and (com.informatimago.common-lisp.cesarum.character:standard-character-is-ascii-coded-p) #| --> t |#
21:28:11
pjb
lxbarbosa: and of course, there are a ton of esoteric programming languages. Piet, BrainFuck, etc.
21:29:02
pjb
lxbarbosa: even Life. Have a look at life in life: https://www.youtube.com/watch?v=xP5-iIeKXE8
21:40:59
aeth
The furthest mainstream languages are probably C++ or Java in terms of OOP with the object system being incompatible with CL's, while being very massive so compatibility would be a lot of work. A lot of these other "far" languages can be (and sometimes have been) implemented in CL.
21:41:58
aeth
jcowan: Well, yes, I mean in the sense that both CL and C++/Java are "OOP" languages, but only if you use different definitions of OOP.
21:42:35
aeth
They don't just have incompatible object systems, they have incompatible definitions of OOP.
22:25:35
jcowan
I remember an OO system in Prolog where the objects are theories (collections of predicates)
22:26:11
jcowan
the subtheory could add its rules to the supertheory's rules for a given predicate, or only add whole predicates
23:14:41
stylewarning
Hey Lisp folks. Just wanted to advertise the sale of my Lisp machines. Thanks! http://watrophy.com/files/lispm/lisp-sale.html
23:59:43
lxbarbosa
for Lispers that know enough of Haskell, does it offers singular features that Lispers "must know about"? I mean, Lisp has a lot of interesting points that I did not see in .NET/Python, and I want to learn new paradigms and perspectives.
0:00:48
lxbarbosa
Ive read that Haskell is way different of mainstream language but not that different of Lisp
0:03:34
Bike
"must know about" sounds like some kind of weird fad advertisement so i'm not going to say that
0:11:52
lxbarbosa
no-defun-allowed: https://www.reddit.com/r/LispMemes/comments/fq4q2g/i_made_this_for_my_friend_and_thought_i_should/?utm_source=share&utm_medium=web2x
0:12:38
stylewarning
lxbarbosa: I think understanding strictly typed parametric polymorphism and how lazy evaluation affects API boundaries is important
0:14:00
lxbarbosa
stylewarning: hm, cool. I hope there are epub Haskell books, not in the mood of touching lately :D
0:31:22
loli
lxbarbosa: there are tools lisp could easily steal, ADTS are an example (and thus deriving functions over this structure)
0:32:06
loli
probably stealing effect systems would be nice. Though they are quite primitive in Haskell
0:40:33
White_Flame
stylewarning: please try to sell the keyboards to people with a lispm that need one
0:46:30
loli
lxbarbosa: you will! I find it's a nice language, though beware you might just taking harder languages like Coq or F*
3:20:10
sjl
When using &key (foo some-form foo-supplied?) in a destructuring-bind, shouldn't foo-supplied be bound to true if :foo is given in the call and false otherwise?
3:20:21
sjl
like, what am I missing here? https://paste.stevelosh.com/7c301026ece2efc869e5ce253f5ff56f98bbf307