freenode/lisp - IRC Chatlog
Search
3:58:08
logicmoo
I ended up using all 6 data models for CLOS objects (the user can choose!) .. they can keep Fields in the assert/retract database.. they can call static code (for read only fields) .. i support FFI Object OO, Hashmaps, ALists and Prolog-Terms-Refs
4:01:51
logicmoo
Paulo wants *everyone* to use "call static code" so ensures that was all the language could support.. I want *everyone* to use assert/retract since that is the most OPS5-y .. but neither I or Paulo should get our way
4:04:34
logicmoo
hereis all the code Paulo and i would need to create a "getter" https://github.com/TeamSPoon/wam_common_lisp/blob/master/prolog/wam_cl/soops.pl#L643-L689
4:08:12
oni-on-ion
this reminds me of an ocaml library, forget which; that supplies two intrfaces, "Modular" style code and "OO" style code. i think it was ocaml
4:12:20
anamorphic
Yeah, I have a macro that creates a function with signature &rest rest &key ... lots of key args, but the logic inside the uses the rest argument to do the processing of the key args. It's harmless, but I can probably generate a (declare (ignore ...)) as part of that definition
4:33:18
logicmoo
though a clone can still be achived via useage of prototype as long as a prototype field values wont affect the extender (non-prototype object)
4:34:46
logicmoo
in my impl since i have to roll back side effects for "unwinding objects" i litternaly extend the object each time the program sets a feild
4:43:03
logicmoo
I suppsoe every time you clone something you can perhaps create a second clone that takes over for the oringal
4:45:41
logicmoo
(the system in this case makes all callers find the original thru a replaced (repointed to) refernce)
5:01:38
logicmoo
speaking of "clone" if i could clone someting other than a dictionary in Logtalk it'd have all teh features i could ever want https://logtalk.org/library/predicate_index.html#clone-3
5:29:17
logicmoo
If he accepts this https://pastebin.com/DN6X5iYg i will even create a OPS5 binding in Logtalk
5:31:16
oni-on-ion
Objects are interesting, but i've been wondering what "Subjects" would be like. modules perhaps?
5:32:23
logicmoo
Logtalk might call those "protocals" as long as you didnt mean "Subject Predciate Object" :P
5:33:20
oni-on-ion
well if Object were "addition" and Subject were "subtraction", perhaps. im not quite sure...
7:47:56
aeth
gabbiel: the macro equivalent is defsetf iirc. Also, sometimes you get setf for "free" with a macro if e.g. you have a macro that expands to (aref foo 42) it will work as expected with setfs... iirc
7:48:44
aeth
hmm, yes, defsetf supports functions or macros. http://www.lispworks.com/documentation/HyperSpec/Body/m_defset.htm
8:23:24
fivo
scymtym: Do you want to share your thoughts/ideas on macroexpansion with source location annotations?
8:39:15
fivo
scymtym: do you want me to open a git issue, so you can reply when it suits you and we also have a better trace of the thing?
8:41:47
scymtym
fivo: i'm not sure this is in scope for concrete-syntax-tree (if that's the project you wanted to create the issue in)
8:42:50
schweers
Are macros at a toplevel somehow special? I have a macro which I have been using for a long time inside fiveam tests to setup my fixtures. I now tried to use this as a toplevel form in order to not run the test setup for every test case, and it doesn’t seem to macroexpand.
9:01:51
fivo
scymtym: yes I was thinking of cst. Why do you think it's outside of its scope? The final output would be a cst of the expanded macro call.
9:04:10
logicmoo
oni-on-ion: he replied.. turns out to be religious reasons: https://gitter.im/LogtalkDotOrg/logtalk3
9:57:17
beach
I take my warnings very seriously, which is why I am a bit annoyed, when there are "note"s that I can't seem to avoid, because they force me to look at every compiler message to make sure I am not missing anything.
10:01:26
aeth
Can it do it for warnings and not notes? Or is it for everything? Because some notes in SBCL seem literally impossible to avoid. Like "hey, if you change the semantics of your program, it's faster".
10:01:52
beach
I set it to IGNORE when I had to compile huge sequence functions. I should set it back to whatever it was.
10:05:14
aeth
jackdaniel: oh cool, I guess I can locally declare a muffle for note in this one place that has to be both (speed 3) and a rational. thanks.
10:05:58
aeth
(it's a typecase... the last, slow case is naturally something that SBCL's optimization notes don't like)
13:52:07
gabbiel
Sorry I was sleeping and now saw messages. Aeth: so if it expands into a seftable function, then it's seftable?
14:59:30
jmercouris
so I'm having an error in loading my website, loads fine on macOS, doesn't load fine on my FreeBSD install
14:59:49
jmercouris
however, the error doesn't appear to be a difference between anything, both are SBCL, same version
15:00:36
jmercouris
I believe it thinks that DEFTABLE is a function call, when it is actually a macro provided by mito
15:01:29
jmercouris
now here's the interesting thing though, if you see packages.lisp (also in the gist), you'll see I'm using all the symbols from mito
15:02:04
Bike
this doesn't seem like an OS-variant kind of error. are you totally sure you're running the same thing on each system?