eagleflo has quit [Read error: Connection reset by peer]
fikka has quit [Ping timeout: 240 seconds]
eagleflo has joined #lisp
thuffir has quit [Ping timeout: 240 seconds]
<White_Flame>
If I have a macro which should build up a hash table in a lexical scope for runtime code to use, what's the best way to do that? (let ((table ,populated-table)) ...) doesn't seem to be valid source code
lnostdal has quit [Remote host closed the connection]
Fare has quit [Ping timeout: 268 seconds]
fikka has joined #lisp
<Bike>
what do you mean
tarruda has quit [Quit: WeeChat 1.2]
fikka has quit [Ping timeout: 265 seconds]
elderK has joined #lisp
<pfdietz>
You want the code generated from the macro to refer to the same hash table everywhere?
eli_oat has joined #lisp
quazimodo has joined #lisp
pierpa has quit [Quit: Page closed]
fikka has joined #lisp
pierpal has joined #lisp
pierpal has quit [Read error: Connection reset by peer]
<White_Flame>
sorry, was afk for a bit. I run a compiler at compile-time, contained to a lexical scope. Some of its output should be exposed to the runtime as a hashtable. This generated function body should be able to run multiple times, seeing the same (read-only) hashtable which was populated at compile-time
<White_Flame>
so it's not the same hash table everywhere; each instance of it should have its own table it sees
<Bike>
well, your code seems fine, so i'm missing something
<White_Flame>
I'm cleaning up old hacks, as well as fixing up code isn't working on new SBCL releases
<White_Flame>
so code isn't fine, but I'm also not sure that the crashes I'm hitting are related to this setup step
<Bike>
i mean, having a literal hash table there is valid.
<White_Flame>
however, it's a hack I wish to eliminate, so gathering thoughts on a way this could be done
<White_Flame>
hmm, interesting
<White_Flame>
that wasn't working years ago, hence lots of workarounds. Might have been various pebcak problems
pierpa has joined #lisp
rumbler31 has joined #lisp
pierpal has joined #lisp
mejja has quit [Quit: mejja]
rumbler31 has quit [Ping timeout: 268 seconds]
ukari has joined #lisp
oldtopman has quit [Remote host closed the connection]
d4ryus1 has joined #lisp
fikka has quit [Ping timeout: 265 seconds]
oldtopman has joined #lisp
d4ryus has quit [Ping timeout: 240 seconds]
elderK has quit [Ping timeout: 265 seconds]
ukari has quit [Remote host closed the connection]
fikka has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
xificurC has joined #lisp
Mutex7 has quit [Quit: Leaving]
fikka has joined #lisp
ealfonso has joined #lisp
zachk has quit [Quit: Leaving]
figurehe4d has joined #lisp
eli_oat has quit [Quit: Leaving.]
yoel has joined #lisp
himmAllRight has quit [Ping timeout: 240 seconds]
himmAllRight17 has quit [Ping timeout: 256 seconds]
<aeth>
White_Flame: I don't see it as a hack, I see it as a valuable feature... that you can trivially make custom classes/structs also be able to do.
damke has quit [Ping timeout: 264 seconds]
<aeth>
Trivial compile time evaluation is one of the last major remaining secret weapons CL has.
<pfdietz>
You could have multiple files using the macro, compiled at different times. How do you resolve the hash table differences?
<pfdietz>
Ah wait, different hash tables in different places...
Kundry_W_ has joined #lisp
<pfdietz>
One trick is to propagate values in the macroexpansion environment. I've used that for compile time lexical information.
<pfdietz>
But that's for propagating information to other macros.
Kundry_W_ has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
dieggsy has quit [Remote host closed the connection]
eli_oat has joined #lisp
Fare has quit [Ping timeout: 260 seconds]
fikka has quit [Ping timeout: 240 seconds]
<White_Flame>
aeth: the hack in place is to have a single global hashtable of hashtables, with gensyms per location doing a looup on invocation
<White_Flame>
*lookup
<White_Flame>
ie, the code tested originally which tried to place hashtables in source code blew up. Now, I dont' recall if that was because of fasl loading or whatnot. Almost every problem we hit seems to be because we do appliation servers that are deployed as executable images, which then load up more code at the deployment site
<White_Flame>
and the whole "just snapshot an image and resume" plays havoc with that model
<Bike>
well to dump a hash table all the keys and values need to be dumpable
<Bike>
so if the values are, say, functions, which can't be dumped, that's a problem
fikka has joined #lisp
<White_Flame>
um, yeah, the hashtable values contain functions
<Bike>
alright, so it won't work
<Bike>
my mistake
<Bike>
functions are not externalizable
<White_Flame>
ah, ok. Then it makes sense that it didn't work
megalography has quit [Ping timeout: 248 seconds]
Fare has joined #lisp
clintm has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
thuffir has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
thuffir has quit [Ping timeout: 248 seconds]
_berke_ has joined #lisp
Kundry_Wag has joined #lisp
Fare has quit [Ping timeout: 256 seconds]
eli_oat has quit [Quit: Leaving.]
Kundry_Wag has quit [Ping timeout: 264 seconds]
Fare has joined #lisp
fikka has joined #lisp
ealfonso has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
fisxoj has quit [Quit: fisxoj]
Mutex7 has joined #lisp
shka has joined #lisp
<beach>
Good morning everyone!
mathZ has left #lisp ["ERC (IRC client for Emacs 25.3.1)"]
<clintm>
Good morning, beach!
fikka has quit [Ping timeout: 260 seconds]
schoppenhauer has quit [Ping timeout: 268 seconds]
schoppenhauer has joined #lisp
Kundry_Wag has joined #lisp
fikka has joined #lisp
Kundry_W_ has joined #lisp
damke has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
clintm has quit [Remote host closed the connection]
elderK has joined #lisp
elderK has joined #lisp
elderK has quit [Changing host]
damke_ has quit [Ping timeout: 264 seconds]
Kundry_W_ has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
<aeth>
White_Flame: What kind of functions? If they're 'foo instead of #'foo or lambda it should afaik be OK to funcall because it will look it up at runtime
<White_Flame>
they're functions generated by the compiler
<aeth>
You'd just need to make sure the symbol name is valid at runtime
<Bike>
'foo instead of #'foo, known as "not functions"
<aeth>
Well funcalling a symbol
<White_Flame>
function objects
megalography has joined #lisp
<_berke_>
hi. I recall reading that there was something like a with-symbols macro but I can't find it
fikka has quit [Ping timeout: 260 seconds]
<beach>
WITH-GENSYMS is a popular one.
<_berke_>
oh that's what it was. thanks
yoel has joined #lisp
<beach>
Anytime.
milanj_ has quit [Quit: This computer has gone to sleep]
<jack_rabbit>
Woo! My cl-gopher library is now in quicklisp!
fikka has joined #lisp
yoel has quit [Ping timeout: 240 seconds]
<_berke_>
now slime question. when you have erroneous code and hit C-c C-k slime asks you if you want to load the fasl. I don't, how can I get slime to STFU in that situation.
<_berke_>
oh wait I found it, slime load failed fasl in customization group
<_berke_>
they thought of everything
fikka has quit [Ping timeout: 240 seconds]
nightfly has quit [Quit: WeeChat 1.5]
bird-dog has joined #lisp
nightfly has joined #lisp
bird-dog has left #lisp [#lisp]
fikka has joined #lisp
Kundry_Wag has quit [Ping timeout: 260 seconds]
EvW1 has quit [Ping timeout: 265 seconds]
fikka has quit [Ping timeout: 240 seconds]
<jack_rabbit>
How do I get the documentation string from a defpackage?
<beach>
jack_rabbit: Look at that page under "Packages:"
fikka has quit [Ping timeout: 240 seconds]
<jack_rabbit>
lispworks has been down for me. :( That's why I'm asking here.
Cymew has quit [Ping timeout: 240 seconds]
<jack_rabbit>
my usual clhs site seems to be down as well.
<beach>
Why don't you have it locally?
<jack_rabbit>
because I'm an idiot.
<beach>
I just accessed that page on LispWorks, so it is up again.
<jack_rabbit>
hmmmm...
<aeth>
Personally, I use the online quicklisp because I can search it through !l1sp on DuckDuckGo (that's actually one of several supported sites), and I have a local copy as a backup for when the website is down or I am offline.
<aeth>
It's nice to have the backup, though.
<clintm>
I swear there is, or used to be, a ql-installable package that starts a server in whatever image you load it on that has it.
<clintm>
huh, I guess not.
<jack_rabbit>
hmmmm. (documentation 'package-name t) does not return my docstring... I must be doing something wrong in the defpackage.
<beach>
Yes, it says explicitly that it has to be a package object.
<jack_rabbit>
Yes.
<jack_rabbit>
Bike, beach, just figured it out. Thanks.
yoel has joined #lisp
<beach>
jack_rabbit: In the long run, you will save a lot of time by learning how to interpret the (sometimes a bit cryptic) dictionary pages of the Common Lisp HyperSpec.
Kundry_Wag has joined #lisp
orivej has quit [Ping timeout: 256 seconds]
<jack_rabbit>
beach, Yes, I need to get better at that. I realized my mistake, but not quick enough.
king2river2lee has joined #lisp
Fare has quit [Ping timeout: 256 seconds]
<beach>
Sure. You are right to ask. I am just giving you hints for future activities. :)
king2river2lee has quit [Client Quit]
Fare has joined #lisp
fikka has quit [Ping timeout: 264 seconds]
Kundry_Wag has quit [Ping timeout: 264 seconds]
<jack_rabbit>
beach, Thanks. :)
JuanDaugherty has joined #lisp
thuffir has joined #lisp
fikka has joined #lisp
ealfonso has joined #lisp
Pixel_Outlaw has quit [Quit: Leaving]
<_berke_>
I'm trying some cl-cuda examples and I wrote a simple macro, but as soon as I use quasiquotations I get a ton of SBCL warnings. https://pastebin.com/FMpVhysG (test1 totoro) is fine, (test2 totoro) gives warnings
<_berke_>
interestingly if I use (intern (symbol-name (gensym))) instead of straight up (gensym) it works, but I have no idea why or if this is correct
doanyway has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
thuffir has quit [Ping timeout: 248 seconds]
dvdmuckle has joined #lisp
fikka has joined #lisp
clintm has quit [Remote host closed the connection]
igemnace has joined #lisp
Kundry_Wag has joined #lisp
yoel has quit [Remote host closed the connection]
yoel has joined #lisp
Kundry_Wag has quit [Ping timeout: 264 seconds]
yoel has quit [Ping timeout: 248 seconds]
rumbler31 has joined #lisp
Kevslinger has quit [Quit: Connection closed for inactivity]
<Bike>
use (gensym) where? is with-gensyms your own macro?
<beach>
_berke_: It is not. You would get all kinds of conflicts in nested macro calls.
rumbler31 has quit [Ping timeout: 268 seconds]
thuffir has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
Satou has joined #lisp
<jack_rabbit>
_berke_, where is your with-gensyms definition?
Bike has quit [Quit: Lost terminal]
mathZ has joined #lisp
thuffir has quit [Ping timeout: 268 seconds]
fikka has joined #lisp
plll[m] has quit [*.net *.split]
runejuhl has quit [*.net *.split]
gingerale has quit [*.net *.split]
djh has quit [*.net *.split]
|3b| has quit [*.net *.split]
elts has quit [*.net *.split]
Mandus has quit [*.net *.split]
lxpz has quit [*.net *.split]
elts has joined #lisp
Mandus has joined #lisp
gingerale has joined #lisp
lxpz has joined #lisp
|3b|` has joined #lisp
plll[m] has joined #lisp
runejuhl has joined #lisp
yoel has joined #lisp
pierpal has quit [Ping timeout: 260 seconds]
copec has quit [Ping timeout: 260 seconds]
kolb has quit [Ping timeout: 260 seconds]
mrottenkolber has joined #lisp
mrottenkolber is now known as Guest52421
Mutex7 has quit [Ping timeout: 248 seconds]
Guest30498 has joined #lisp
copec has joined #lisp
dented42 has joined #lisp
megalography has quit [Ping timeout: 240 seconds]
doanyway has quit []
dented42 has quit [Ping timeout: 248 seconds]
sauvin has joined #lisp
Kundry_Wag has joined #lisp
Karl_Dscc has joined #lisp
Kundry_W_ has joined #lisp
wigust has joined #lisp
Kundry_W_ has quit [Ping timeout: 256 seconds]
fikka has quit [Ping timeout: 240 seconds]
aindilis has quit [Remote host closed the connection]
jlarocco has joined #lisp
fikka has joined #lisp
d4ryus1 is now known as d4ryus
fikka has quit [Ping timeout: 268 seconds]
micro has joined #lisp
fikka has joined #lisp
megalography has joined #lisp
damke_ has joined #lisp
thuffir has joined #lisp
damke has quit [Ping timeout: 264 seconds]
fikka has quit [Ping timeout: 264 seconds]
Kundry_Wag has quit [Ping timeout: 256 seconds]
Kundry_Wag has joined #lisp
thuffir has quit [Ping timeout: 260 seconds]
Karl_Dscc has quit [Remote host closed the connection]
kqr has quit [Read error: Connection reset by peer]
Kundry_Wag has joined #lisp
ted_wroclaw has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
damke_ has quit [Ping timeout: 264 seconds]
yoel has joined #lisp
damke_ has joined #lisp
lnostdal has joined #lisp
Kaisyu has quit [Quit: Connection closed for inactivity]
kqr has joined #lisp
flamebeard has quit [Remote host closed the connection]
energizer has quit [Ping timeout: 240 seconds]
ukari has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
Kundry_Wag has joined #lisp
ted_wroclaw has quit [Ping timeout: 276 seconds]
fikka has joined #lisp
flamebeard has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
edgar-rft has quit [Quit: edgar-rft]
fikka has joined #lisp
fikka has quit [Ping timeout: 260 seconds]
jmercouris has joined #lisp
fikka has joined #lisp
ecraven has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
Kundry_Wag has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
flamebeard has quit [Remote host closed the connection]
flamebeard has joined #lisp
thuffir has quit [Ping timeout: 255 seconds]
thuffir has joined #lisp
jeosol has joined #lisp
<jeosol>
jmercouris?
<jeosol>
I tried to get you here for a while. been away from here.
<jeosol>
I did not hear back from Mike Maul yet, and it seems I will proceed with the ML examples later, just start and out and change things based on reviews later.
nsrahmad has joined #lisp
dmiles has quit [Ping timeout: 248 seconds]
flamebeard has quit [Remote host closed the connection]
thuffir has quit [Ping timeout: 240 seconds]
quazimodo has quit [Ping timeout: 240 seconds]
capitaomorte has joined #lisp
<capitaomorte>
Hi there. Is there a MAP* function in CL that APPLYies the function to each element instead of FUNCALLing it?
thuffir has joined #lisp
dmiles has joined #lisp
<flip214>
capitaomorte: not in CL, no. but it's very easy to do, right?
<capitaomorte>
yeah, of course. I was looking for a concise idiom
<capitaomorte>
the goal is to process an array of JSON objects (converted to plists) using a destructuring lambda spec.
<xificurC>
you mean like (defun mapap (f x) (mapcar (lambda (y) (apply f y)) x))
<capitaomorte>
xificurC: yes
<xificurC>
capitaomorte: seems pretty concise to me
<capitaomorte>
yeah, consice isn't the right word, I meant built-in
<capitaomorte>
yeah, that's not bad, and you use mapcar if you coerce sequence
<shka>
mapcar won't work on vectors, though
<capitaomorte>
you coerce them
<capitaomorte>
(mapcar (alexandria:curry #'apply function) (coerce sequence 'list)) should work
<shka>
not a huge fan of that, but yeah, it will work
raynold has quit [Quit: Connection closed for inactivity]
<capitaomorte>
who knows what MAP is doing under the hood... :-)
<shka>
hopefully it does not do that
<shka>
beacuse memory and stuff
<capitaomorte>
why do you think it's bad? For short sequences its OK i think
<capitaomorte>
shka: I see what you mean
<shka>
because out of the sudden algorithm that is O(1) for memory becomes O(n)
<shka>
and that's baaaaaaaaaaad
<capitaomorte>
I don't think your map solution is O(1), is it?
<shka>
especially since large lists can require huge ammounts of memory
<shka>
damn, even iteration on lists is slower
<shka>
capitaomorte: for memory? sure it is
<shka>
obviously not for the runtime
makomo has quit [Ping timeout: 260 seconds]
Kundry_Wag has quit [Ping timeout: 264 seconds]
<capitaomorte>
then use a compiler macro to coerce away the coerce
<capitaomorte>
:-)
<shka>
capitaomorte: that works just for literals
<flip214>
shka: yeah, well, an explizit LOOP seems to be faster than the (MAP (COERCE)).... naturally.
solyd has joined #lisp
<capitaomorte>
I don't know. I never tried it, I don't see why it couldn't recognize the MAPCAR/COERCE pattern and turn it into your MAP
<flip214>
although I'd hoped that this would be simply dispatched to a different MAPCAR function that takes a simple-vector as input.
<capitaomorte>
but anyway, you're probably right for large seqs it's a bad ideia
<shka>
capitaomorte: well, in theory it could, but why would you implement something like that for such trivial case that can be fixed by writting code properly?
<flip214>
a (MAP 'LIST ...) becomes just a call to SB-KERNEL:%MAP-TO-LIST-ARITY-1 on SBCL
<capitaomorte>
shka: because OCD, obviously
nsrahmad has quit [Quit: Leaving]
<flip214>
shka: because it might be easy to detect and optimize in the compiler, too?
<flip214>
and that would help for macro-generated code as well
<flip214>
think a macro that did MAPCAR and the input was a COERCE, because the macro "needs" a list...
<capitaomorte>
anyway, making garbage is not as bad as people often assume, at least on Allegro
<shka>
flip214: well, you can simply stick to map 'list in your macro code
<shka>
fancyness is not required here
<capitaomorte>
it's sometimes worse to let objects go into its "oldspace" where the GC has a much harder time finding them.
<capitaomorte>
but this is a detail of some optimization workshop I mostly forgot about
<shka>
capitaomorte: it is ok as long as your objects won't simply exhaust whole heap
<shka>
and coercing very large vector to list can do do that
<flip214>
shka: that would be slower if the input cannot be proven to be a list, I guess. not sure if there are other drawbacks.
<capitaomorte>
yep, agree exhausting heap is not good :-)
<flip214>
shka: but basically you're right.
yoel has quit [Remote host closed the connection]
yoel has joined #lisp
<jmercouris>
jeosol: Ok, sounds good, too bad you didn't get a response
<shka>
besides, triggering GC hurts those who aim to obtain real time
<capitaomorte>
know anyone who's trying to obtain real time in CL? (asking honestly)
<shka>
capitaomorte: hard real time? nope. But take a look at #lispgames
<theemacsshibe[m]>
Hello
<shka>
theemacsshibe[m]: greetings!
<phoe>
heyy
<theemacsshibe[m]>
Good evening shka
<capitaomorte>
shka: yeah, but "triggering GC" is more than just a binary thing. In many situations, if i remember that lecture, it's better to trigger it very often.
yoel has quit [Ping timeout: 248 seconds]
<capitaomorte>
shka: and actually better to use non-destructive, garbage-making, list-processing, for example
<jmercouris>
capitaomorte: yes, there is someone aeth I believe
<jmercouris>
he is working on a "no-consing" main game loop
<theemacsshibe[m]>
I suppose doing it more gives you less crap to collect per GC cycle
<shka>
capitaomorte: on average, you are right!
<capitaomorte>
theemacsshibe[m]: more or less
<jmercouris>
is he though? isn't that largely GC implementation dependent
<theemacsshibe[m]>
Although we're passed mark and sweep collectors my knowledge resides in, wouldn't there be some constant factor in marking or grouping used data?
EvW has joined #lisp
<jmercouris>
I bet the number of objects in the universe is more important than how many need to be cleaned up
<shka>
jmercouris: large heaps is problem on it's own
<capitaomorte>
jmercouris: yes, for sure. The lecture compared Allegro with SBCL and results were quite different
<flip214>
if you manage to work with a fixed amount of memory (preallocated everything), the GC won't be triggered later on
<jmercouris>
there's a reason why no games do free /malloc in c++ during gametime
<shka>
well, we have to distinguish average performance and variance in expected time to finish
schjetne has joined #lisp
<shka>
if you are going real time, you are looking at the second parameter
<jmercouris>
I think the key is to keep the performance as constant as possible
<jmercouris>
what would you prefer, a game that ran at 200fps but dropped to 5 every 10 seconds, or a game that runs at 20 fps?
<shka>
for real time, yes
<shka>
for anything else? meh
<shka>
nobody cares
<jmercouris>
I care
<jmercouris>
I'm just kidding, btw :P
<shka>
well, right now i am running clustering algorithm
<jmercouris>
Ah, yes, good times, which one?
<shka>
it will take like 10 minutes to chew data
<jmercouris>
you must have a very small dataset
<shka>
i don't care if it is real time :P
<shka>
around 418 thousand samples
<theemacsshibe[m]>
Idea: replace GC algorithms with prediction if the user cares about response time
<shka>
but it is CLARA so it does not care about data set size
<theemacsshibe[m]>
Bad times: when you're about to blow someone's head out.
<theemacsshibe[m]>
Good times: when you're figuring out how to deal with the cave spiders about to kill you next turn.
<jmercouris>
theemacsshibe[m]: games already do this
<jmercouris>
loading screens in between levels, stuff like that
<jmercouris>
deallocation and reallocating new assets
<theemacsshibe[m]>
That's it, I'm suing them for taking my idea before I knew I had it!
<jmercouris>
best of luck :)
<theemacsshibe[m]>
Not even, I'm saying when the game is quiet a clever engine could GC or reallocate without problems
<flip214>
theemacsshibe[m]: "Dynamic Optimizations for SBCL Garbage Collection"
<flip214>
was a talk at ELS 2018
<jmercouris>
theemacsshibe[m]: that is also already done
<theemacsshibe[m]>
For example, if I'm waiting at site A and everyone's at B, might as well collect since no one's going to rush in and blow me up.
<theemacsshibe[m]>
Wow, nice.
<flip214>
but it seems that the paper is not online
<shka>
oh, i really can't wait for els videos to go online!
* theemacsshibe[m]
runs back into #lisp with a handful of steel wool and a Bunnings receipt
klm2is has quit [Quit: Leaving]
* theemacsshibe[m]
gives magic GNU🦄PONUT a vegetable burger she got from the barbeque
* GNUPONUT[m]
eats the Burger and licks no-defun-allowed
<theemacsshibe[m]>
:3
orivej has quit [Ping timeout: 268 seconds]
Naergon has joined #lisp
* theemacsshibe[m]
conses her arms around magic GNU🦄PONUT
<theemacsshibe[m]>
Alright, back to Lisp.
* calher
speaks with lithp
<theemacsshibe[m]>
Why isn't tail recursion something we do a lot in Lisp? (Scheme is pretty much built on it, having no imperative style loops, but CL isn't very good at them.)
Chream_ has joined #lisp
<theemacsshibe[m]>
If I wanted to write some function as a normal maths thing, I'd probably use tail recursion.
<calher>
Because Lisp is a bastard.
markong has joined #lisp
* theemacsshibe[m]
sp eak si nto ngu es
<theemacsshibe[m]>
:|
<theemacsshibe[m]>
| ;; in case anyone is reading symbols today
<p_l>
theemacsshibe[m]: it's a matter of style - some code depends a lot on tail calls, especially when wirtten for implementations that do TCO, but generally we enjoy having powerful iteration constructs
<p_l>
some of the code normally enabled by TCO resurfaces in CL in much, much weirder forms...
Quetzal2 has quit [Remote host closed the connection]
Kundry_Wag has quit [Ping timeout: 248 seconds]
<jeosol>
jmercouris: I will work start working the machine learning example applications and update them over time. What I mean is, could start with simple data structures, and eventually replace with libraries after I make additional research
<jeosol>
I will find some domain to put the examples over time. I think I saw some blas related info in the array chapter on CL cookbook.
himmAllRight has quit [Quit: WeeChat 2.0.1]
igemnace has quit [Quit: WeeChat 2.1]
comborico1611 has quit [Quit: Konversation terminated!]
thuffir has quit [Ping timeout: 260 seconds]
thuffir has joined #lisp
Chream_ has quit [Ping timeout: 264 seconds]
flamebeard has quit []
scymtym has joined #lisp
dieggsy has joined #lisp
Quetzal2 has joined #lisp
Cymew has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
Cymew has joined #lisp
Chream_ has joined #lisp
Kundry_W_ has joined #lisp
Cymew has quit [Ping timeout: 264 seconds]
Cymew has joined #lisp
Kundry_W_ has quit [Ping timeout: 256 seconds]
Kundry_W_ has joined #lisp
__rumbler31 has joined #lisp
_rumbler31 has joined #lisp
Cymew has quit [Ping timeout: 240 seconds]
Cymew has joined #lisp
Kundry_W_ has quit [Ping timeout: 268 seconds]
__rumbler31 has quit [Ping timeout: 264 seconds]
nowhere_man has joined #lisp
igemnace has joined #lisp
Cymew has quit [Ping timeout: 248 seconds]
lyding has quit [Read error: Connection reset by peer]
warweasle_afk is now known as warweasle_magic
warweasle_magic is now known as warweasle
Cymew has joined #lisp
nowhere_man has quit [Remote host closed the connection]
nowhere_man has joined #lisp
_cosmonaut_ has quit [Ping timeout: 264 seconds]
Cymew has quit [Ping timeout: 268 seconds]
Cymew has joined #lisp
aindilis has joined #lisp
Cymew has quit [Ping timeout: 256 seconds]
fikka has quit [Ping timeout: 268 seconds]
megalography has quit [Ping timeout: 264 seconds]
Cymew has joined #lisp
schjetne has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
Cymew has quit [Ping timeout: 265 seconds]
jmercouris has quit [Remote host closed the connection]
jmercouris has joined #lisp
<jmercouris>
jeosol: what is "blas"?
fikka has joined #lisp
igemnace has quit [Quit: WeeChat 2.1]
Cymew has joined #lisp
pierpal has joined #lisp
<jeosol>
jmercouris: BLAS and LAPACK and algebra libraries for solving things like eigen-value problems, solving for x in Ax=b type of problems.
<jmercouris>
ah very cool, I did not know about these
<jeosol>
For instance, if I do, linear regression problem, I could solve the problem with matrix inversion (small problems) or go with conjugate gradient descent.
<jeosol>
My plan is to start raw, e.g., use loop for the conjugate gradient descent calculations
<jeosol>
and then later, I can replace functionalities with existing libraries like CLML and MGL
<jmercouris>
I assume this is only one problem space you have in mind right?
Cymew has quit [Ping timeout: 265 seconds]
<jmercouris>
You are probably thinking about other data sets / models as well, or are you only interested in linear regressions?
Cymew has joined #lisp
megalography has joined #lisp
Cymew has quit [Ping timeout: 264 seconds]
Cymew has joined #lisp
Cortana has joined #lisp
<jeosol>
jmercouris: No, it is general, I am trying to show that CL can be use for these ML problems.
FreeBirdLjj has joined #lisp
<jeosol>
problem is that it could be painful given the tons of resources in python and R,
Kundry_Wag has joined #lisp
<jeosol>
my plan is to reproduce the problems in the cousera machine learning course for instance. It is lot of problems, but I could do it over time.
m00natic has quit [Remote host closed the connection]
<jeosol>
the problems conver different algorithms linear regression, logsitic regression, neural nets, SVM's, PCA, etc. With such effort, we can start aggregating CL resources for these applications.
<obi-cons-cdrobi>
jeosol: more traditional algorithms (like decision tree, etc.) have very nice Lisp implementations. I've been thinking about throwing together some NN library, but haven't had time. I hacked together a decision tree implementation that I wouldn't mind sharing, if you're interested
<jeosol>
My quick check of CLML shows they have some tools for these
<jeosol>
oh sure, obi-cons-cdrobi
<jeosol>
and I forgot to mention NNs
Cymew has quit [Ping timeout: 260 seconds]
<jeosol>
I recently looked at Gabor Melis code for the Higgs Boson project, I was able to bring to compile with latest SBCL, but lack of GPU makes the training take more than 24 hours Gabor mentioned
Cymew has joined #lisp
<jeosol>
I used C4.5 decision tree algorithm through lisp via system call for a project a while ago.
<obi-cons-cdrobi>
jeosol: https://github.com/obicons/decision-tree. It's a little rough, I hacked it together for a uni project a year ago or so. But it does work and adequately demonstrates why symbolic computation is good for solving a specific subset of AI problems
libreman has quit [Remote host closed the connection]
<obi-cons-cdrobi>
It needs some small modifications to support continuous data types, but as-is supports discrete values quite well
Cortana has quit [Ping timeout: 260 seconds]
libre-man has joined #lisp
<jeosol>
Great thanks for the link. I see you used ID3 algorithm
Cymew has quit [Ping timeout: 240 seconds]
libre-man has quit [Client Quit]
libre-man has joined #lisp
<obi-cons-cdrobi>
yep. I played around with this a lot in SBCL to get it to generate somewhat efficient machine-code (hence the generous usage of symbolic identifiers). By the time that I was done, the disassembled code was actually informative.
libre-man has quit [Client Quit]
SaganMan has joined #lisp
Cymew has joined #lisp
Ven`` has joined #lisp
libre-man has joined #lisp
<jmercouris>
jeosol: interesting goal, have you set-up an organization yet?
<jeosol>
what do you mean by organization?
<jmercouris>
well, an organization to work on the code, maybe a github organization, or some gitlab page
<jmercouris>
maybe it's not so important early on
<jeosol>
That is what I thought but I didn't want to assume
<jmercouris>
but if you'd like to collaborate/merge resources from several places, might become uesful
<jmercouris>
s/uesful/useful
<jeosol>
No, I have not, but I do have a github and gitlab account
<jeosol>
Yes, this was why I reached out to the CLML guys.
<jeosol>
Like work the examples using that library as much as possible.
<jmercouris>
well, since they are unresponsive, you know what to do, make a new standard :D
<jeosol>
They do have a nice wine dataset example.
<jeosol>
I can work through those examples, I want to make sure it is clear and logical. The course goes through different realistic applications. Eventually, I will have to pull a lot of resources, change libraries, functionalities, etc
<jeosol>
this was why I wanted reviewers, that will look at things, make suggestions, etc. Seems I got two so far.
hhdave has quit [Ping timeout: 264 seconds]
Cymew has quit [Ping timeout: 260 seconds]
<jeosol>
I also sent an email to Gabor about using his code, didn't get any reply. I assume his was busy. Since he put it in public domain, may be he didn't matter, but I wanted to pick his brain on where he thinks work needs to be done
Cymew has joined #lisp
cage_ has joined #lisp
thuffir has quit [Ping timeout: 260 seconds]
fikka has quit [Ping timeout: 256 seconds]
<jeosol>
jmercouris: I think the organization part is important. I will think of where to make the posts for instance. I will also need to know that people use when they intersperse code and write up. I have seen some CL-jupyter or notebook
<jeosol>
but I have not used any of those
<jmercouris>
probably mostly org mode with babel
<jeosol>
ok, cool. I have used org mode, will check for the latest tools.
FreeBirdLjj has quit [Remote host closed the connection]
<jmercouris>
jeosol: maybe a good start would be to take his project, and finish documenting it
<jeosol>
there is a lot of algorithms there already, blas/lapack wrappers, pca, etc. I will reach out again, possibly another avenue.
<jmercouris>
there is just so much documentation missing
<jeosol>
jmercouris: I agree
<jmercouris>
my only real issue is the LGPL license, so very limiting
<jeosol>
They have good starting base already, and it will make sense to work off that and collaborate with them.
stacksmith has joined #lisp
<jeosol>
Oh, I didn't see that
<jmercouris>
I don't want to start a holy war, but I feel like lisp should always be BSD
<jeosol>
hmm, interesting
<jmercouris>
especially due to the "library" nature of the language
<random-nick>
jmercouris: why?
<jmercouris>
random-nick: because it's so easy to build off of another package compared to other languages, and license restrictions incompatibilties can be a huge mess
thuffir has quit [Ping timeout: 256 seconds]
<jeosol>
gabor's mgl is MIT licence but mostly NN
<random-nick>
just have it all GPL
<jmercouris>
when developing applications, GPL is okay, but when developing libs, I learn towards BSD
<jmercouris>
s/learn/lean
Cymew has quit [Ping timeout: 256 seconds]
fikka has quit [Ping timeout: 240 seconds]
<jmercouris>
random-nick: what if somebody wishes to use the lib in a commercial product?
<random-nick>
commercial does not always imply proprietary
<jmercouris>
random-nick: what if somebody wishes to use the lib in a *viable commercial product?
Cymew has joined #lisp
<jmercouris>
I can count the amount of succesful open source companies on one hand, but anyways, this is off-topic and the war I did not wish to start
<jeosol>
I didn't even see this part when I initially reached out to Mike
<jeosol>
hopefully, this doesn't add a big kink, i.e., they may be willing to relax things.
<jeosol>
My plan is to document the examples and put it in public domain, and since they have stuff going, it seem reasonable to align with them
o1e9 has joined #lisp
<jmercouris>
yeah, you can even license your own changes in a different way
<jmercouris>
maybe the lib could be frozen and used as a dependency
<jmercouris>
and then you just build on top of it, override it, document it, whatever
<jmercouris>
still a little restrictive, but less so
stnutt has quit [Ping timeout: 260 seconds]
scymtym has quit [Ping timeout: 256 seconds]
fikka has joined #lisp
Cymew has quit [Ping timeout: 255 seconds]
Kundry_Wag has quit [Remote host closed the connection]
<jeosol>
good points jmercouris
Kundry_Wag has joined #lisp
<jeosol>
Well, if it is frozen, and they want to hand it over to another maintainer or sth, that will be fine.
<jmercouris>
yeah, just won't be able to necessarily merge things upstream, which is fine, since development has ceased
Cymew has joined #lisp
<jeosol>
eventually have a way to merge it with gabor's mgl library and viola, we have one big ML lib
stnutt has joined #lisp
<jmercouris>
yeah, could be pretty cool
<jmercouris>
probably isn't too hard to put the two systems into one, the harder part will be making the API uniform
<jeosol>
I agree, I take that back
<jeosol>
it will be better to leave them separate
fikka has quit [Ping timeout: 255 seconds]
<jeosol>
I looked at Gabor's code in some a bit of detail. Excellent features with flexibility to take advantage of CUDA if available
ealfonso has joined #lisp
Kundry_Wag has quit [Ping timeout: 264 seconds]
<jeosol>
btw, pardon guys, I think Mike Maul was a maintainer for that code and his activity is frozen. The library was forked from a company in Japan. Mathematical Systems Inc. mathematical-systems
<jeosol>
They are the once I should contact I guess see any library issues.
<jmercouris>
I was wondering what "MSI" stood for
Cymew has quit [Ping timeout: 268 seconds]
<jmercouris>
I wish I knew someone who spoke Japanese to refer you to a translator
<jeosol>
however, Mike's branch is more recent so it is better to pick it up from him
shka_ has joined #lisp
Cymew has joined #lisp
<jeosol>
hahaha
Jesin has joined #lisp
<jeosol>
So I am back to Mike again. I will contact him, ask about the license issue and get back.
fikka has joined #lisp
orivej has joined #lisp
Cymew has quit [Ping timeout: 260 seconds]
Kevslinger has joined #lisp
Cymew has joined #lisp
fikka has quit [Ping timeout: 260 seconds]
<jeosol>
jmercouris: I sent an email to one of the Asian guys. Hopefully, I hear back, if not, I will just go ahead like you suggested. Hopefully, it doesn't bring any issues.
light2yellow has joined #lisp
Cymew has quit [Ping timeout: 240 seconds]
Cymew has joined #lisp
fikka has joined #lisp
<jmercouris>
jeosol: fingers crossed!
Kundry_Wag has joined #lisp
<Fade>
paul0 has quit [Quit: Leaving]
Cymew has quit [Ping timeout: 256 seconds]
fikka has quit [Ping timeout: 240 seconds]
schjetne has quit [Ping timeout: 240 seconds]
Cymew has joined #lisp
<phoe>
Fade: interesting
<Fade>
my DSL line driver puked, and seemed to send an errant newline. sorry.
Cymew has quit [Ping timeout: 240 seconds]
thuffir2 has quit [Ping timeout: 256 seconds]
<phoe>
hah, no problem. (: Happened to me a few times as well.
fikka has joined #lisp
<Fade>
it's really quite amazing that anything ever works.
<dlowe>
an optimist I see
Cymew has joined #lisp
<jeosol>
jmercouris: Hope so. I will wait, see if he replies, before starting to work on the examples.
<Fade>
:)
thuffir has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
Cymew has quit [Ping timeout: 240 seconds]
Cymew has joined #lisp
lnostdal has quit [Ping timeout: 264 seconds]
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
Jesin has quit [Remote host closed the connection]
thuffir has quit [Read error: Connection reset by peer]
thuffir has joined #lisp
fikka has joined #lisp
Cymew has quit [Ping timeout: 276 seconds]
Kundry_Wag has quit [Ping timeout: 260 seconds]
Cymew has joined #lisp
schjetne has joined #lisp
lnostdal has joined #lisp
Satou has quit [Quit: Cya soon guys!]
fikka has quit [Ping timeout: 240 seconds]
Karl_Dscc has joined #lisp
Kundry_Wag has joined #lisp
eschatologist has quit [Ping timeout: 264 seconds]
energizer has joined #lisp
Cymew has quit [Ping timeout: 268 seconds]
Cymew has joined #lisp
thuffir has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
makomo has joined #lisp
thuffir has joined #lisp
Cymew has quit [Ping timeout: 264 seconds]
fikka has quit [Ping timeout: 264 seconds]
pyx has joined #lisp
Cymew has joined #lisp
pyx has quit [Client Quit]
pierpal has quit [Ping timeout: 256 seconds]
pierpal has joined #lisp
thuffir has quit [Ping timeout: 240 seconds]
Cymew has quit [Ping timeout: 240 seconds]
damke has joined #lisp
Cymew has joined #lisp
pierpal has quit [Read error: Connection reset by peer]
schjetne has quit [Ping timeout: 240 seconds]
damke_ has quit [Ping timeout: 264 seconds]
thuffir has joined #lisp
eschatologist has joined #lisp
light2yellow has quit [Quit: light2yellow]
pierpal has joined #lisp
Kundry_Wag_ has joined #lisp
Cymew has quit [Ping timeout: 265 seconds]
Cymew has joined #lisp
quazimod1 has joined #lisp
quazimodo has quit [Ping timeout: 276 seconds]
pierpal has quit [Read error: Connection reset by peer]
energizer has quit [Disconnected by services]
energizer has joined #lisp
energizer has quit [Remote host closed the connection]
energizer has joined #lisp
elderK has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
Cymew has quit [Ping timeout: 276 seconds]
Cymew has joined #lisp
fikka has quit [Ping timeout: 265 seconds]
Cymew has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
fourier has joined #lisp
schjetne has joined #lisp
sauvin has quit [Read error: Connection reset by peer]
lnostdal has quit [Ping timeout: 248 seconds]
Quetzal2 has quit [Ping timeout: 256 seconds]
paul0 has joined #lisp
paul0 has quit [Client Quit]
Kundry_Wag_ has quit [Ping timeout: 268 seconds]
Cymew has joined #lisp
pierpal has joined #lisp
zachk has joined #lisp
zachk has joined #lisp
zachk has quit [Changing host]
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Cymew has quit [Ping timeout: 264 seconds]
varjag has joined #lisp
pierpal has quit [Ping timeout: 256 seconds]
Cymew has joined #lisp
Cymew has quit [Ping timeout: 268 seconds]
Cymew has joined #lisp
quazimod1 has quit [Ping timeout: 268 seconds]
fikka has quit [Ping timeout: 260 seconds]
random-nick has quit [Read error: Connection reset by peer]
Cymew has quit [Ping timeout: 240 seconds]
schjetne has quit [Ping timeout: 260 seconds]
Cymew has joined #lisp
fikka has joined #lisp
nika_ has quit [Quit: Leaving...]
warweasle has quit [Quit: rcirc on GNU Emacs 24.4.1]
Cymew has quit [Ping timeout: 240 seconds]
Cymew has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
nowhere_man has quit [Ping timeout: 256 seconds]
JuanDaugherty has quit [Quit: Ex Chat]
Cymew has quit [Ping timeout: 265 seconds]
pierpal has joined #lisp
Cymew has joined #lisp
pierpal has quit [Read error: Connection reset by peer]
fikka has joined #lisp
pierpal has joined #lisp
pierpal has quit [Read error: Connection reset by peer]
schjetne has joined #lisp
Cymew has quit [Ping timeout: 268 seconds]
fikka has quit [Ping timeout: 268 seconds]
Cymew has joined #lisp
ealfonso has quit [Ping timeout: 276 seconds]
Mutex7 has joined #lisp
Cymew has quit [Ping timeout: 265 seconds]
EvW has joined #lisp
Cymew has joined #lisp
vlatkoB has quit [Read error: Connection reset by peer]
pierpal has joined #lisp
random-nick has joined #lisp
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #lisp
Cymew has quit [Ping timeout: 240 seconds]
Cymew has joined #lisp
pierpal has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
Cymew has quit [Ping timeout: 240 seconds]
makomo has quit [Quit: WeeChat 2.0.1]
fikka has quit [Ping timeout: 240 seconds]
MichaelRaskin has joined #lisp
Pixel_Outlaw has joined #lisp
ealfonso has joined #lisp
fikka has joined #lisp
schjetne has quit [Ping timeout: 265 seconds]
ealfonso has left #lisp [#lisp]
fikka has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
dieggsy has quit [Ping timeout: 276 seconds]
Cymew has joined #lisp
fikka has quit [Ping timeout: 260 seconds]
Cymew has quit [Ping timeout: 260 seconds]
Cymew has joined #lisp
doanyway has joined #lisp
Cymew has quit [Ping timeout: 264 seconds]
schjetne has joined #lisp
Cymew has joined #lisp
Cymew has quit [Ping timeout: 240 seconds]
ravi__ has quit [Remote host closed the connection]
ravi__ has joined #lisp
thuffir has quit [Ping timeout: 265 seconds]
Cymew has joined #lisp
fikka has joined #lisp
shka_ has quit [Ping timeout: 260 seconds]
EvW has quit [Ping timeout: 240 seconds]
ym has quit [Ping timeout: 240 seconds]
wigust has quit [Ping timeout: 264 seconds]
Cymew has quit [Ping timeout: 240 seconds]
thuffir has joined #lisp
warweasle has joined #lisp
Cymew has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
python476 has quit [Ping timeout: 276 seconds]
eschatologist has quit [Ping timeout: 264 seconds]
ravi__ has quit [Remote host closed the connection]
Cymew has quit [Ping timeout: 260 seconds]
Cymew has joined #lisp
ravi__ has joined #lisp
cage_ has quit [Quit: Leaving]
eschatologist has joined #lisp
trocado has joined #lisp
ukari has quit [Remote host closed the connection]
Cymew has quit [Ping timeout: 265 seconds]
lnostdal has joined #lisp
Cymew has joined #lisp
trocado has quit [Ping timeout: 265 seconds]
fikka has joined #lisp
Cymew has quit [Ping timeout: 268 seconds]
BitPuffin has quit [Remote host closed the connection]
papachan has quit [Quit: WeeChat 2.1]
schjetne has quit [Ping timeout: 264 seconds]
Rawriful has joined #lisp
Kundry_Wag_ has joined #lisp
fikka has quit [Ping timeout: 264 seconds]
Bike has quit [Ping timeout: 260 seconds]
lnostdal has quit [Ping timeout: 264 seconds]
fikka has joined #lisp
lnostdal has joined #lisp
raynold has joined #lisp
ravi__ has quit [Ping timeout: 268 seconds]
warweasle has quit [Quit: rcirc on GNU Emacs 24.4.1]
schjetne has joined #lisp
ravi has joined #lisp
fourier has quit [Read error: Connection reset by peer]
asarch has quit [Quit: Leaving]
lnostdal has quit [Ping timeout: 240 seconds]
ted_wroclaw has joined #lisp
megalography has quit [Ping timeout: 264 seconds]
_rumbler31 has quit [Ping timeout: 248 seconds]
Kundry_Wag_ has quit [Ping timeout: 256 seconds]
nowhere_man has joined #lisp
Kundry_Wag has quit [Read error: No route to host]
Kundry_Wag has joined #lisp
u0_a183 has joined #lisp
lnostdal has joined #lisp
Bike has joined #lisp
megalography has joined #lisp
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
Josh_2 has quit [Quit: ERC (IRC client for Emacs 25.3.1)]