Search
Thursday, 27th of July 2017, 8:28:44 UTC
8:31:21
shka
edgar-rft: nah, in fact i am formed of 4 separate brains
8:31:33
shka
we have become much more
10:50:40
Harag
anybody else using emacs 25 on ubuntu 17.04 my slime menu is empty and buffer list is iffy...cant see anything on a google search...
10:54:36
loke
Start with a clean init.el configuration
11:01:55
Harag
:loke not an expert but this is a clean install of ubuntu and emacs 25 what would have messed up init.el... quicklisp slime helper?
11:28:56
Harag
:loke ...turns out to be something in my .emacs ... now need to hunt it down :(
14:07:01
stylewarning
shka: good LAPACK bindings are hard to do portably, require one to know how to load foreign libraries—system provided, possibly written in Fortran
14:07:33
shka
but it surely is easier than trying to implement everything from scratch
14:08:35
stylewarning
It would be a difficult endeavor to rewrite LAPACK, yes. But if you used pure Lisp, you avoid tons of issues that you only get by binding with LAPACK
14:08:49
Xach
such as the irritatingly good performance?
14:11:07
stylewarning
You can get within a single digit number of orders of magnitude (<5) from a portable BLAS/LAPACK
14:11:32
shka
but how portable this code would be?
14:11:46
shka
it would work well, only on sbcl
14:13:04
shka
on the other hand, it would keep working because lisp is overall stable
14:13:36
Harag
was having issues with my slime menu in ubuntu 17.04 and emacs 25 in a fresh install, thought it was my .emacs loading something that messes it up but turns out that ubuntu uses /usr/bin/emacs25 and when you use that menus go for ball of .... change it to /usr/bin/emacs and slime menus work fine... heres to an hour waisted
14:15:47
stylewarning
I went through the exercise of writing a portable but fast linear algebra library. All of BLAS (essentially) + a good number of LAPACK essentials. But it was exceedingly hard and weeks and weeks of full-time paid work
14:16:26
stylewarning
And the further I got in, the harder it was
14:19:21
Shinmera
I did some linear algebra stuff in 3d-matrices, but I didn't have to make it fast or guaranteed precise, so the pain was reduced.
14:20:59
stylewarning
Vectors and matrices for 3D programming is usually pretty minimal. One lisp file and maybe 100 or so lines of code
14:21:24
Shinmera
Well I went beyond what's necessary.
14:22:56
Shinmera
It also definitely falls into your category of "untangling x levels of horrible macros".
14:23:06
Shinmera
https://github.com/Shinmera/3d-matrices/blob/master/ops.lisp#L9
14:26:29
stylewarning
Shinmera: those macros are at least understandable compared to https://github.com/matlisp/matlisp/blob/master/src/base/coordinate-accessor.lisp
14:27:49
stylewarning
https://github.com/matlisp/matlisp/blob/master/src/base/numeric-template.lisp
14:32:16
shka
looks like somebody reinvented defgeneric
14:33:39
Shinmera
Aight. https://github.com/matlisp/matlisp/blob/master/src/utilities/template.lisp#L88
14:34:15
Shinmera
rplaca/rplacd uses even. Nice.
14:34:33
JuanDaugherty
coloring within the lines of CLOS may be beyond the capabilities of the average bear
14:38:31
stylewarning
Anyway, definitely not looking to put down that library and that person's hard work, but it is a good example of a different point on this spectrum of library quality and construction
14:39:56
JuanDaugherty
also defgeneric doesn't necessarily entail CLOS
14:41:04
shka
not sure why it is written this way
14:42:01
stylewarning
A desire to be generic I suppose. Reduce copy-pasting of code
15:00:02
beach
JuanDaugherty: What do you mean by "defgeneric doesn't necessarily entail CLOS"?
15:04:47
JuanDaugherty
the CLOS specific parameters are optional, and the case in point
15:05:40
stylewarning
DEFGENERIC is CLOS. I don't get it.
15:05:49
stylewarning
Do you mean MOP or CLOS?
15:05:56
beach
JuanDaugherty: So you are not talking about CL:DEFGENERIC?
15:09:34
JuanDaugherty
i am not talking about anything
15:12:19
JuanDaugherty
i avoid disputations, beach, and other nasty stuffs
15:13:10
JuanDaugherty
life polluted by dealing with small minded people isn't worth living
15:14:59
beach
I wonder whether that was a list of things JuanDaugherty avoids: 1. disputations. 2. me. 3. other nasty stuffs. That would imply that I am some nasty stuff.
15:15:33
Shinmera
Making a wrong statement, ignoring questions about it, and then calling people questioning small minded sure is quite the stunt.
15:16:14
whoman
beach, or just disputing.. =)
15:18:51
edgar-rft
beach: Don't feel bad. We all are nasty stuff.
15:26:12
tetero
beach: Maybe he avoids the beach because UV causes cancer
15:39:38
_death
beach: I think it was just direct addressing
16:27:59
akkad
ACTION ponders why roswell feels like a shell script converted to c
16:30:51
Shinmera
Because it does shell script like things. It's in C to be more easy to deploy.
18:06:14
phoe_
I just deleted CL-YESQL from ~/quicklisp/local-projects because it is now available in Quicklisp. How can I tell Quicklisp, or ASDF, that it should fetch the project from Quicklisp instead of looking for it in local-projects, without restarting the Lisp image?
18:06:50
flip214
phoe_: IIRC quicklisp will see automatically that the ASD is gone, and re-fetch as necessary.
18:07:00
phoe_
flip214: if it would be that easy I wouldn't be asking here.
18:07:18
oleo
refetch yes but it doesn't know yet where it is
18:07:19
flip214
phoe_: how about (ql:register-local-projects)
18:07:26
phoe_
flip214: if it would be that easy I wouldn't be asking here.
18:07:41
oleo
cause he deleted it from local projects
18:07:47
phoe_
In other words: did it, QL and ASDF still are looking for it in the local-projects.
18:08:01
flip214
phoe_: well, would you lose anything by restarting your inferior lisp=
18:08:17
oleo
no you have to change (:tree "bla/bla/") in your farm-link file
18:08:26
phoe_
flip214: it's on a remote machine and has some precious state that I don't really feel like losing right now.
18:08:36
oleo
and tell asdf to reinitalize it's database about the changes....
18:08:39
phoe_
So I'm looking for a non-restart way.
18:09:06
flip214
phoe_: well, a quick way might be to start _another_ lisp, do the (ql:quickload ...) there
18:09:17
flip214
and if that isn't sufficient, put a symlink in local-projects?
18:10:05
phoe_
doing the quickload from another Lisp worked.
18:10:16
phoe_
Now this is a hack I could not think of myself. :D
18:11:00
flip214
well, that was so easy that I didn't dare ask that in the first place ;)
18:11:43
phoe_
we need a bot designed for incfing people
18:17:09
Xach
(asdf:clear-system ...) can help also.
18:32:35
Xach
phoe_: sorry not to answer sooner. (asdf:clear-system ...) would probably have done the trick.
18:34:23
phoe_
Xach: no problem, it's not your duty to be my one-click tech support.
18:34:57
Xach
(i just want to share tips that help as often as possible)
18:35:27
phoe_
wait, where's my tech support bill then
18:35:48
Xach
Shinmera: more lichat errors overnight for me
18:59:25
davide89v
i'm here because i'm curious
18:59:48
phoe_
Tell us more about your curiosity. :D
19:00:30
davide89v
i've made some research
19:00:44
davide89v
and i've found that this lisp language could be very potent
19:01:03
davide89v
a true versatile language
19:01:12
davide89v
i would like to try it
19:01:33
davide89v
but i'm not sure about what implementation choose
19:01:49
White_Flame
it doesn't matter much. SBCL is the default, especially on Linux.
19:01:59
White_Flame
CCL has had longer support on windows & mac
19:02:08
phoe_
Don't use GCL under any circumstances, and avoid CLISP as a beginner.
19:02:16
phoe_
Steel Bank Common Lisp and Clozure Common Lisp.
19:02:44
phoe_
Two pretty good modern implementations, both rather popular.
19:02:46
davide89v
okok but clisp is still in use? because i've seen the development is stopped at the year 2010
19:03:02
phoe_
The implementation is maintained.
19:03:15
phoe_
And CLISP is still in use and has its upsides. :)
19:03:58
White_Flame
it apparently has a very fast bignum library, and it tends to be compilable on many odd varieties of systems starting from just a C compiler
19:04:00
phoe_
Things CLISP is good for. Strong sides.
19:04:30
davide89v
strong sides = experts?
19:04:40
White_Flame
benefits, advantages, etc
19:04:41
phoe_
And also, it is an interpreted implementation, by default. So it does not have any compilation overhead, which is good for scripts. This, and its portability like White_Flame mentioned.
19:05:21
davide89v
may i ask you why GCL (GNU Common Lisp) is not good?
19:05:37
phoe_
Unmaintained, incomplete, not compliant with the ANSI CL standard.
19:06:30
White_Flame
sbcl is in the apt repositories (from my Mint end), I dont' think ccl is
19:06:34
phoe_
shka_: I really like the fact that, to the question "sbcl or ccl", you answered yes
19:06:44
phoe_
SBCL is in the apt repositories, CCL you have to download separately
19:06:54
oleo
dunno, to download ccl is hell
19:06:59
White_Flame
although the repos always have an older version, but just 1.3.1 vs 1.3.19 claimed here
19:07:08
phoe_
you download the archive, unpack, and run the binary
19:07:13
shka_
roswell makes this trivial
19:07:17
davide89v
so i'm not very good in linux
19:07:24
koenig
Do people tend to have favorable views on ECL?
19:07:37
shka_
koenig: ECL is great for C integration
19:07:47
phoe_
koenig: I like ECL though I don't use it for development
19:07:58
koenig
That'd be my intended use case (integration with C and C++).
19:08:00
phoe_
ECL is the Embeddable Common Lisp
19:08:23
koenig
As in, I'd like to use it to "script" my C/C++ code vs. something like TCL or Python.
19:08:31
shka_
koenig: ECL is great for that
19:08:41
oleo
i just can't like python somehow.....
19:08:53
shka_
davide89v: ok, just try roswell
19:08:57
oleo
and the strict indentation rules.....
19:09:06
shka_
it is easy to install, easy to use
19:09:15
shka_
will download implementation that you like
19:09:16
oleo
otherwise it's fine really
19:09:58
White_Flame
davide89v: the preferred development environment is Emacs + SLIME (connector between emacs & a running lisp), which provides a lot of really good interactivity
19:10:19
shka_
oleo: https://github.com/roswell/roswell
19:10:26
shka_
davide89v: https://github.com/roswell/roswell
19:10:26
White_Flame
it's basically the "IDE", though doesn't follow common IDE conventions
19:10:36
shka_
basicly lisp intaller and launcher
19:10:50
shka_
will download anything you want, will setup emacs for you
19:11:02
oleo
wasn't it ccl that wanted your email or something
19:11:07
shka_
never had problem with it
19:11:16
oleo
err, i think it was something else.....sorry
19:11:38
davide89v
you advise me for emacs?
19:11:41
phoe_
minion: tell davide89v about pcl
19:11:42
minion
davide89v: please look at pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005).
19:11:53
shka_
davide89v: i would stick to emacs
19:12:07
phoe_
I use spacemacs, which is an emacs distribution
19:12:15
White_Flame
davide89v: google brings me to this cheat sheet: http://pchristensen.com/wp-content/uploads/2008/02/slimecommands.pdf
19:12:42
shka_
davide89v: basicly, roswell can install and launch emacs on the instant
19:13:17
White_Flame
C-x means Ctrl-x, M-x means Alt-x (in most default keybindings)
19:13:18
shka_
i would start with roswell
19:13:50
shka_
it makes thing super easy to start
19:15:04
shka_
i need to setup real test env with roswell
19:15:15
shka_
so i can test stuff on sbcl, ecl and ccl
19:15:47
shka_
davide89v: also, have fun!
19:21:00
flip214
davide89v: depending on how much effort you already spent with vim, you could also try vim+slimv. that's similar (albeit not as good) to emacs+slime.
19:21:23
shka_
emacs + slime is trivial to setup
19:21:45
davide89v
i don't want to start another flamewar
19:21:46
flip214
shka_: I tried 4 or 5 times to install evil from tutorials, and failed every time ;/
19:22:15
davide89v
and i 've found myself better with vim
19:22:42
flip214
davide89v: perhaps https://shinmera.github.io/portacle/ might be an idea worth looking into.
19:22:44
phoe_
but also spacemacs was originally designed for vim users
19:22:59
flip214
that's a preconfigured emacs.
19:23:00
davide89v
phoe_ ok, but i'm not so good with vim
19:23:10
davide89v
i don't want to change editor right now
19:23:22
flip214
I'm a vim user with slimv too, though - so you'll get help for that here as well.
19:23:36
phoe_
davide89v: sure thing, you'll get support with both emacs and slime over here.
19:23:40
davide89v
i fear i could become confused
19:23:49
davide89v
thank you very much, truly
19:23:49
shka_
davide89v: well, as i said, my main argument is that slime and emacs are trivial to setup with roswell
19:23:54
phoe_
I actually dared to install Atom and check its slime-atom plugin, but gosh, it's still in its early stages.
19:24:12
shka_
so if you want to get started as quickly as possible, it is best option i think
19:24:13
phoe_
I can't even do multiline input on the REPL because it complains about EOF if I do.
19:24:31
shka_
you may setup slimv later
19:24:45
shka_
or just stick to slime since it is actually quite good
19:24:47
davide89v
but i prefer not change the editor
19:25:12
davide89v
thank you however truly
19:27:02
flip214
davide89v: https://github.com/kovisoft/slimv
19:27:10
flip214
or http://www.vim.org/scripts/script.php?script_id=2531
19:27:42
davide89v
ok, a question just for curiosity, what about CMU Common Lisp?
19:27:49
davide89v
thank you for the answers
19:28:26
phoe_
CMU CL is still kicking, but SBCL forked off it and is much more commonly used
19:28:46
flip214
davide89v: just stick with sbcl right now; you'll most probably have a package for that in your linux distribution anyway.
19:29:07
davide89v
thank you to everyone
19:29:14
oleo
i switched to sbcl since then.....
19:29:27
davide89v
i'm curious about a new paradigm
19:29:32
oleo
if you wanted to make it 64bit that'd be pretty a hassle.....
19:30:04
flip214
davide89v: start with a good book. PCL was already recommended.
19:30:06
oleo
btw, cmucl has some addons which are not fully functional either.....bitrot
19:30:48
oleo
clisp is not maintained anymore.....
19:31:04
davide89v
in the website is free?
19:31:18
phoe_
In the website? What do you mean?
19:31:24
oleo
gcl is dunno in what state.....
19:31:33
oleo
i couldn't compile last time....
19:32:00
phoe_
davide89v: which link? There were a few
19:32:04
phoe_
do you mean PCL? yes, it's free
19:32:07
davide89v
http://www.gigamonkeys.com/book/
19:32:14
oleo
so ccl and sbcl are the only mainstream contenders really
19:32:28
phoe_
if Lisp has a mainstream, then it would be SBCL and CCL
19:32:39
phoe_
(geez, "Lisp" and "mainstream" in one sentence)
19:33:03
oleo
i meant mainstream in the sense of free
19:33:29
phoe_
yes, but it's been decades since Lisp was mainstream itself
19:33:48
oleo
what happened to corman lisp ?
19:33:52
phoe_
now it's a crazy niche language of people with grey beards who eat parens on breakfast.
19:34:08
phoe_
Corman CL was opensourced I think, but it's not maintained anymore.
19:34:13
flip214
phoe_: not true, I shave most days.
19:34:30
phoe_
flip214: not true, I know, my beard is not gray.
19:35:23
oleo
i downloaded it once but didn't use it much.....haven't looked in the docs or readme either....
19:36:33
shka_
oleo: nowdays those are popular general purpose lisps: CL, Clojure, Racket
19:37:00
phoe_
and some other Scheme implementations like Chez Scheme, Chicken Scheme, Guile
19:37:03
oleo
hmm, i somehow still like racket
19:37:23
oleo
than most of the other schemes
19:42:11
flip214
for graphic capabilities, write logo or postscript. the latter has quite a few bits to teach, even.
19:45:02
oleo
i thought it would be boring
19:45:18
oleo
and i don't have any resources on learning it.....
19:45:40
flip214
well, it's a stack-based language. if you didn't learn one of these before, it'll teach you new things.
19:45:58
flip214
no "ghostscript", "gv", "okular", etc.? no text editor?
19:46:17
flip214
not that much free time is needed... an hour a week would do for the basics
19:46:31
rpg
Is there a commonly used utility library that has a generalized find-in-tree function?
19:46:36
oleo
will look later, i have 2 books already which i have to read....
19:47:44
flip214
rpg: use a side-effect in SUBST-IF?
19:48:10
rpg
flip214: That's a cool idea, thanks!
19:48:46
rpg
somehow I thought this was in Alexandria, but it seems not (although I may have an old copy)
19:50:56
flip214
rpg: writing your own recursive traversal might be less consing, though
20:03:18
phoe_
I saw pure PS that generates a page-sized Mandelbrot fractal
20:04:18
White_Flame
rpg: I've written an entire suite of recursive traversal/search stuff, and there ends up being so much variation that I can see why alexandria doesn't include it
20:04:34
phoe_
time to make a traverse macro
20:04:40
phoe_
that's a DSL on its own like loop
20:04:53
rpg
phoe_: Or you could make a tree iterator for ITER
20:05:04
White_Flame
I have deep-mapcar, and deeper-mapcar ;)
20:05:07
rpg
but the subst-if trick is really neat
20:05:19
White_Flame
(and I think 1 level deeper than that)
20:05:33
White_Flame
the "deepness" depends on if it'll traverse through arrays, hashtables, object slots, etc
20:05:42
phoe_
(traverse foo as tree of conses for bar if (eq (car bar) 'x) replace bar with (list 1 2 3 4))
20:05:50
rpg
The test first has to decide what kind of tree nodes are interesting (e.g., symbols), and then do the real test, and doing that while in subst-if seems to work nicely
20:06:00
White_Flame
also variations that support dotted lists
20:06:17
rpg
oh, yes, and the test always fails (so no substitution need be done)
20:06:54
phoe_
(traverse foo as 3D array of structs foo-struct for bar if (foo-struct-baz bar) do (setf (foo-struct-baz bar) 42))
20:13:58
davide89v
which do you advise me to choose? sbcl or ccl?
20:14:54
phoe_
davide89v: here, hold this - you will need them
20:15:01
phoe_
(((((((((((((((())))))))))))))))
20:15:29
davide89v
lisp is a strong language, right?
20:15:46
davide89v
it is used in large software
20:15:54
davide89v
where this paradigm is better
20:17:34
phoe_
it's used in huge corporate projects, yes
20:17:59
phoe_
but if we measure strength by that then Java is 1500000% stronger
20:18:04
phoe_
and I don't think that's very good
20:26:05
Shinmera
Xach: A method definition too early. Fixed.
Thursday, 27th of July 2017, 20:28:44 UTC