freenode/#lisp - IRC Chatlog
Search
3:32:13
ig88th
Xach: but it took creating a project using quickproject with sbcl to be able to load it; the quickproject creations under ccl are unable to be loaded
3:42:04
ig88th
Xach: actually it looks sort of complicated. It seems I can only load projects created within that slime session with sbcl; when I restart emacs and slime I can no longer load that project.
3:43:53
Xach
ig88th: i wish i could help but it's time to sleep. interactive debugging will be required.
3:59:24
drmeister
Is there a function that takes a list of symbols and returns the list of unique symbols?
4:14:03
beach
iqubic: When we write LISP, we usually mean some pre Common Lisp language. We have written in "Lisp" for several decades.
4:14:44
White_Flame
but yeah, the modern statistical AI is just math, doesn't need any special language support like symbols & metaprogramming
4:14:53
iqubic
Really? The people in #emacs were telling me that I should use python, and then called me a troll for not knowing much about AI.
4:16:42
pjb
iqubic: for statistical methods, languages more optimized for the current hardware may be more indicated (eg. cuda if you use nvidia hardware).
4:16:54
White_Flame
obviously things like computer vision are going to be crunching lots more numeric arrays than logical inference
4:17:17
pjb
iqubic: however, statistical methods are not the be all-end all of AI methods. Currently, commercial ventures are totally losing sight of symbolic methods.
4:18:01
pjb
iqubic: cf. the point of view about AI of people like Hofstadter https://www.youtube.com/results?search_query=Hofstadter+AI
4:18:46
pjb
iqubic: and then, even if you consider statistical methods, I would consider using lisp to compile high level system definitions and compose statistical modules, including at run-time.
4:18:46
White_Flame
when people say "AI" unadornedly, they're usually talking about some variant of "machine learning" today
4:19:56
iqubic
All I'm trying to do is write a program that works to get the highest score in the game 2048.
4:24:48
iqubic
The original question: "What stratergy do I think will wrok best for a program that plays 2048?"
4:27:14
iqubic
Let me ask another question than. Is there a CL graphics library that works with SBCL.
4:28:42
White_Flame
cepl brings graphics more native to CL style, rather than just being raw opengl bindings
4:30:07
White_Flame
I'd think you're usually opening up a separate opengl context GUI window, so it doesn't matter how you're talking to the lisp image
4:32:25
iqubic
White_Flame: What I really want is emacs company completion and documentation via C-h f / C-h v for whatever library I use.
4:33:24
White_Flame
whether it's a database connector library, or a graphics connector library, or soket connector library, all the same
4:33:54
iqubic
Yes, but I have no idea how to tell emacs what libraries I'm using so that it can fetch the documentation I need.
4:34:25
White_Flame
well, I haven't used documentation features, if you're talking about mor ethan docstrings
4:43:48
beach
iqubic: When we write LISP, we usually mean some pre Common Lisp language. We have written in "Lisp" for several decades.
4:46:31
beach
iqubic: I see two reasonable definitions of "interpreted language". The first one is that the language CAN BE implemented by an interpreter, and the second is that it HAS TO BE implemented by an interpreter. The first definition implies that every language is interpreted, and the second definition that no language is interpreted.
4:47:24
beach
iqubic: Well, you could try doing a little bit of research on your own. Terms like "computer vision" I am sure have Wikipedia entries.
4:48:40
beach
"The term is somewhat vague. In principle, any language can be implemented with a compiler or with an interpreter"
4:52:32
beach
iqubic: I agree with White_Flame. This channel is about Common Lisp, not about you. Try to keep the question more Common Lisp related.
4:53:10
White_Flame
but I think the real fundamental issue is you're probably trying to bite off more than you can chew at once
4:53:32
White_Flame
you need to work with some simpler problems before jumping right into opengl + AI + CLOS + whatever else
4:58:33
pjb
iqubic: you cannot understand OO if you know C++. You have to learn Smalltalk to understand OO. Smalltalk is simple. (It's made for children).
4:59:08
pjb
iqubic: alternatively, you may learn Objective-C, which is C+Smalltalk, but it's more complicated because of the C part.
4:59:48
pjb
iqubic: Sometimes, in universities, one learns OO by implementing it in lisp (or scheme), instead of learning Smalltalk. It's also a good way to do it.
6:21:40
krwq
hello, does anyone know if there is a way to make swig generate valid fields from the header file which uses bitfields? it currently seems to be generating for 4 :unsigned-int fields instead of 29+1+1+1 bit numbers
6:41:08
krwq
I ended up with %ignore in swig file and redefining the struct by myself using a single uint - ifanyone knows a better way to handle that please let me know
10:18:56
flip214
I've got a GF with multiple methods which have EQL specializations on the first argument.
10:19:19
flip214
I can list them via GENERIC-FUNCTION-METHODS, but how would I selectively call one of them?
10:21:27
beach
flip214: That would not be a typical use case for generic functions and methods. It would be best to call the generic function with the EQL specializer in question.
10:23:59
JuanDaugherty
iqubic, because a) it developed over a long time and b) it is the inherently most flexible OOP mechanism, a generic meta one in fact
10:24:54
hajovonta
is it possible for a function to determine the other function it was called from?
10:26:03
hajovonta
like when I call (fun1 param1 (fun2 param2 param3)) and inside fun2 I would need some information that it was called from fun1
10:27:15
flip214
beach: I'm trying to use CLOS as a mechanism to get a kind-of plug-in architecture...
10:27:50
JuanDaugherty
also cl is the more baroque lisp, you might find the scheme oop, whatever it is more to your liking
10:28:03
hajovonta
jackdaniel: thanks. portability is currently not a problem for me as I only have SBCL here
10:28:17
flip214
I quite like the automatic documentation and availability of debugging via swank/slime etc.
10:28:44
jackdaniel
hajovonta: checking where function was called from is also wrong from the technical perspective
10:28:44
flip214
so I should parse the EQL specifier and call the GF with the right first value, right?
10:29:02
Shinmera
hajovonta: Dissect will give you an object representation for the stack rather than just a string like trivial-backtrace does
10:29:07
jackdaniel
if you customize behavior based on that your program will be automatically unintelligible
10:29:16
scymtym
flip214: for a certain style of pluggable implementations, you may find https://github.com/scymtym/architecture.service-provider useful
10:32:41
beach
flip214: I would just use a hash table instead if I understand your use case correctly.
10:35:58
hajovonta
what I don't understand is where are the first two SBCL-CALLs in the environment-stack object
10:37:11
|3b|
flip214: looks like github's .org renderer got confused... makes a bit more sense in original
11:29:44
ecraven
well, I wouldn't call it an improvement ;) but it does make kawa work with slime, which is nice
11:32:18
jackdaniel
I think that scope of change impact is a better metric than scope of changes wrt improvement
12:27:23
Shinmera
Is initialize-instance called for condition objects? define-condition talks about initialize-instance in the :initarg option, but (on SBCL) initialize-instance does not seem to get called when I create a condition.
12:27:51
Shinmera
Which is annoying as fuck, since I'd like to compute some slots based on an initarg.
12:34:02
Shinmera
So what's this about then in CLHS for define-condigion: "The :initarg slot option declares an initialization argument named by its symbol argument and specifies that this initialization argument initializes the given slot. If the initialization argument has a value in the call to initialize-instance, the value is stored into the given slot, and the slot's :initform slot option, if any, is not evaluated."
12:36:09
jackdaniel
this doesn't say anything whenever initialize-instance is automatically called (only how initialize-instance *behaves* when it's called)
12:36:39
Shinmera
I guess, but it's weird to talk about it at all when it's not even specified that make-instance should work on condition types.
13:00:35
Shinmera
Not that having them recorded would have been much better, since the quality of the 2017 recordings is really poor
13:08:04
jmercouris
hey everyone, just made a post on /r/programming about programming next via hooks: https://www.reddit.com/r/programming/comments/7w4k5x/using_hooks_to_smart_program_your_browser/
13:18:03
jmercouris
jackdaniel: It doesn't it's just a "smart" browser rather than a dumb one, like the one's were used to
13:18:48
ludston
jackdaniel: Why would anyone get upset about using nodejs streams. They're just going to be regular grey streams, right?
13:19:24
jackdaniel
I don't know what nodejs streams are, thought you have some problem with streams
13:19:55
jmercouris
Xach: No doubt that is true in any context, the question is, are you bringing it up because of that?
13:21:27
jmercouris
if any of you downvoted/don't like the article, I'd be interested to know why so that I may write better articles in the future
13:23:22
jackdaniel
I haven't, but I'd ramove word "smart" whatsoever (unless it is backed by something what makes it indeed "smart") ;-)
13:24:29
jmercouris
it is the browser that has the capability to be "smart", not clever just "more interactive", kind of how emacs macros can "smarten" your editing process
13:25:33
jackdaniel
still don't see how that makes it smart (done with elaborating on "smart" word, I've got stuff to do):p
13:29:16
ludston
jmercouris: If we're not done bikeshedding the title of your post, I'd go with "Using events in the Next browser"
13:33:06
jmercouris
ludston: while a very accurate and succint title, I'm not sure it would make want to read such an article
13:35:29
jackdaniel
misleading titles which are meant to increase reader count are colloquially called clickbaits
13:42:48
jmercouris
jackdaniel: I don't get you, sometimes you are so helpful and nice, and sometimes so... mean
13:44:40
ludston
Speaking of dichotomy. I might be just drunk, but I'm looking at the source of next-browser and I'm not seeing any calls to 'run-hook'.
13:45:45
jmercouris
it's good to be honest, but it is also good to be considerate of other people's feelings
13:47:21
jackdaniel
it's not like I've said your title is shit or something, I find word "smart" very much misplaced here, and when your argument is that "people wouldn't be so inclined to read it if the title were more accurate" it makes it only worse in my eyes
13:49:06
ludston
jmercouris: Basically what I am seeing you say here, is "please look after my ego", and in many parts of western culture cadres form with an unspoken agreement to avoid ego-bruising
13:49:14
jmercouris
an implication of writing clickbait is mean, it paints me as a dishonest person, but whatever, water under the bridge
13:50:44
ludston
jmercouris: But the *big opinion* is that ego-ism is largely personally unhealthy, and the cause of a lot of personal unhappiness so it's better just to ditch it.
13:51:14
jmercouris
ludston: This has nothing to do with egoism, and everything to do with how you treat others
13:52:02
ludston
jmercouris: 'How you treat others' is mostly, 'how people perceive that they are being treated'
13:53:17
jmercouris
if his intention is not negative (which I have trouble believing), then it is okay, criticism is good, if not, then I don't really like it, but it is not my position to tell others what they can or cannot do
13:53:34
jackdaniel
1) it is offtopic here, 2) I don't appreciate talking about me in third person [ignore 2), focus on 1)]
13:54:03
ludston
jmercouris: Which basically comes down to some level of entitlement and expectation that is probably completely undue when it comes to which secret phrase damages your sense of identity and makes you feel bad inside.
13:54:10
jmercouris
jackdaniel: I spoke of you in the third person not out of disrespect, but because I was replying to the other person
13:58:01
jmercouris
last thing I'd like to say, as always, sorry if I misunderstood or hurt anyone, or if I am being egotistical, I'm trying to be better
14:34:48
White_Flame
idunno, error messages and sounds always seemed to sound offended & be offensive :-P
14:35:48
jmercouris
kolb: It's hard to tell if via text you are being sarcastic or not, if you are not I appreciate the sentiment
14:36:17
dlowe
JuanDaugherty: that's a bad strategy when deciding how to communicate with non-machines.
14:37:22
kolb
jmercouris: if they can call it a smart phone you can very well call it a smart browser imho. Smart = programmable? That's honest imho. (Not sarcastic, tryna be supportive)
14:38:56
jackdaniel
dlowe: sounds like a robustness principle[1] adapted to human interaction ;-) [1] https://en.wikipedia.org/wiki/Robustness_principle
14:58:05
flip214
Following https://common-lisp.net/project/cl-store/docs/cl-store_4.html#IDX35 (serializable-slots-using-class) works fine for storing...