freenode/#lisp - IRC Chatlog
Search
23:01:46
montxero
Hi, in slime-repl, when the screen is cleared with C-l and a form is evaluated, part of the previously cleard screen comes back moveing the new results lower. How can one avoid this such after clearing the screen, old stuff doesn't come back unless one does C-l or M-v or something similar?
23:36:12
mgsk
I'm trying to write a macro that uses some lexical variable's symbol-value as the value for return-from. Having trouble thinking about compile time vs. run time, and how to do it properly https://gist.github.com/notmgsk/e1ca6f104bce29444c53255f3966db50
23:37:26
pjb
mgsk: learn about lexical variables and special variables (lexical binding vs. dynamic binding).
23:42:00
pjb
Also, you didn't mention that you wanted to work with the name of the function. There might be more than one error per line…
23:44:00
Xach
mgsk: block/return-from and throw/catch might help achieve some kind of flow control there. but it's a little hard to tell from the example.
23:44:44
Xach
It's not too hard to implicitly establish some context that is then implicitly used later but it depends on the context.
23:47:17
pjb
mgsk: https://gist.github.com/notmgsk/e1ca6f104bce29444c53255f3966db50#gistcomment-2833331
0:09:14
fiddlerwoaroof
One thing I've noticed that's a bit surprising about slime-repl-clear-buffer is that it sets *, ** and *** to nil
0:10:29
fiddlerwoaroof
It's a hook "slime-repl-clear-variables" that actually does this, so I guess you could remove that hook to avoid issues
0:12:08
fiddlerwoaroof
This snippet from swank is basically art: https://fwoar.co/pastebin/f16f291e9ce4292ea9fc54caa884d8128caba2c3.lisp.html
4:36:09
montxero
Perhaps not the best place for this but I reckon this group has the requisite knowledge. Why do people (training consultancies) charge $1500+ for a 2 to 8 day introduction to `x-lang`?
4:37:23
montxero
especially given that they do not (cannot) cover any substantial amount of material in that time
4:38:30
p_l
montxero: because that's a cost just to hire the trainer plus logistics plus *some* profit
4:38:55
p_l
Depending on language and class of people involved you can, however, make a significant dent
4:40:38
p_l
By carefully managing both expectations AND grade of people taking part in training it's perfectly possible to make a week long course that kick starts a team on new language
4:42:22
verisimilitude
With the Internet existing, along with a wealth of books, there's no reason to purchase such, montxero.
4:43:21
montxero
p_l: okay, if that be the case why bother with competent devs in the first place as a new crop can be harvested that easily
4:44:08
p_l
montxero: what you're missigg is that it doesn't mean you don't need competent devs in the first place
4:44:12
montxero
a bit of background, I muck around with python, matlab, and I'm learning common lisp
4:44:40
verisimilitude
You collect a band of idiots looking for easy money, set them up in stupid little classes for JavaScript or any programming language that doesn't matter, and you send them to California for the gold rush, where they get ripped to shreds.
4:45:00
montxero
however, I am more than conversant with all the intermedeate materials in the python courses I've seen
4:46:07
p_l
The requirements are competent, but not masterful (those can do it with a page of docs and an evening) sysadmins that know linux and can handle Bash scripting
4:46:55
p_l
The course then takes them through a bit of theory about "cloud" and "infrastructure as code"
4:47:16
verisimilitude
I don't think it's a controversial idea that only people with a real interest in programming should be writing programs. We don't expect someone without an interest in mathematics to write an elegant proof and advance the field; let's just disregard financial math, which is mostly concerned with transferring money from you to me indirectly.
4:47:48
p_l
Later on using a simple "wargame" they are walked through all the steps necessary to bring up a common application example in the cloud, using purely IaC approach
4:49:06
p_l
montxero: this is all actionable stuff where they are doing coding on both days and which concentrates on getting things done and pointing where to go from there
4:50:13
p_l
montxero: this means that anyone who participates seriously should be able to go back to work and start an onprem->cloud migration, including understanding why and why NOT, while keeping to best practices
4:51:51
verisimilitude
I'm inclined to believe one shoulddn't use a programming language until one actually knows it.
4:52:10
verisimilitude
If you don't read the standard, you probably don't actually know the language.
4:52:41
verisimilitude
http://morningcoffee.io/boolean-short-circuiting-is-not-guaranteed-in-sql.html
4:52:42
p_l
verisimilitude: that would exclude pretty close to all C/C++/Python and bunch of other languages
4:53:19
verisimilitude
Look at the above article; instead of actually knowing the language, this fool writes a test to check his ``hypothesis''.
4:53:21
montxero
p_l: Thanks for clearing that up. Say I have some specialied knowledge which I incidentally implement in a programming language, can I in all honesty offer a course such as: Developing `super niche hyper cool Y` in `x-lang`?
4:54:04
p_l
montxero: probably depends on the niche, and I'd focus on the niche rather than language
4:55:52
verisimilitude
It's an issue if people are writing programs that only happen to work correctly and, worse, don't even understand what they're actually doing, because of this.
4:56:45
montxero
p_l: developing and implementing functional observers for various classes of systems: a bit too niche
4:58:57
montxero
verisimilitude: remind me to pass my blog ideas by you before publication, I appreciate honest critque
5:00:05
verisimilitude
If you're working with an abstraction, then you should just need to understand it alone, p_l, such as how things can fail.
5:01:00
montxero
verisimilitude: yes please I would like your email. I haven't started the blog yet, just a bunch of ideas. I'd start after submitting my thesis
5:02:52
verisimilitude
Also, I agree that ability to program at all is separate from any particular language, but one shouldn't use a language one doesn't know.
5:03:41
verisimilitude
I'm curious how many of you went about learning Common Lisp; I learned by reading CLtL2, a list of final changes with the standard, and I've read other nice books since.
5:07:45
montxero
Recursive functions of symbolic expressions and their computation by machine, part I: that was(is) the hook
5:10:04
montxero
after a while (couple of months), I wanted to run the larger ones (as manual tracing became tedious)
5:12:50
montxero
PCL was too practical for me, so I did'nt get past the first chapter. I wanted something along the lines of the paper so I started SICP with common lisp
5:13:39
montxero
ran into some problems, then someone here told me to stop nested `defuns` as that is a schemeism not a common lisp idiom
5:22:58
montxero
if I were to pa $2000 for a 2 day lisp course (where the lesson is not there ain't no shortcut), I would expect to be banging out sonnatas by the end of day 2. I should be able to write a prolog interpreter, library for implementing dependent types complete with a dsl for point free programming in lisp by the end of day 2
5:24:44
beach
montxero: There is some missing information here. First, there might be several participants, so per participant it is not much money. Second, that amount of money is peanuts to most corporations. Third, going to a course is not always meant to be a training thing, but a reward. Participants look good in the eyes of their colleagues.
5:34:04
montxero
AUD1760 per person 2 days this is not some Dave Beazely level program https://pythoncharmers.com/training/introduction-to-python/#details. I see p_l's point, and I agree that this will be great if covered by the organisation. Now I dare not check for one in common lisp can you imagine a recursively defined price tag with unwind protect when you want to back out?
5:44:19
no-defun-allowed
I'm not sure if one can thoroughly learn all that (even in Python) in two days. Maybe if each session spans most of the day, but that's not very likely.
5:45:52
verisimilitude
I read CLtL2 in the same way I read other dense technical books, across several months, reading some chapters in a day or so and spending weeks in the interim not reading the book at all. I doubt one could learn a large language in a single day.
5:46:26
verisimilitude
One could learn a good Forth in less than an hour, but Forth isn't a large language; with my limited knowledge of SQL, I suppose you could probably learn that in a day or two if you wanted.
5:47:44
montxero
p_l: charging such amount for training on using a tool/program/technology or technology is different from an introduction to programming training. A tool (from here on refers to something akin to a device not including pl) may be mstered in a relatively short period and may not be used too often. Often one only needs docs/manuals and a some tutorials to be on their way. Moreover the returns on time spent
5:47:50
montxero
on learning a tool is usually realised quicker than time spent on a programming language. A programming language brings with is certain idioms and ways of doing things that are not necessarily easily transfered to other languages
5:49:11
montxero
Since the prodcutivity of a tool can be realised quickly the upfron cost can be justified more easily
5:50:12
montxero
p_l: my point exactly, will you give a common lip for pythonistas course in 3 days?
5:51:15
montxero
they have some courses that do not seem bad, like the predictive analysis one. That seems fair enough but a in introduction to the language...
5:54:11
no-defun-allowed
[random Haskell line] see, you could be learning this instead of Common Lisp!
5:54:28
p_l
pillton: I did mention unlearning Python, didn't I? In my case it wasn't Python, but experience with Haskell helped dislodge some mental blocks I encountered with CLOS
5:56:52
pillton
p_l: I thought there was some anecdote involving Peter Seibel and Haskell and the road to PCL.
6:07:25
beach
montxero: I must have missed the beginning. What is your problem with this price for a course?
7:51:09
akater
Something I did not realize: change-class will make shared slot unbound if class C_to has no initform for it.
7:51:14
akater
Hence, when superclass has initform and subclass has not, super->sub will retain the value (even though e.g. its type check could fail)
7:51:21
akater
while subclass->super will not (even though type check would never fail in this case).
7:55:23
akater
oops, I transposed it: was talking about the case where superclass has no initform but subclass is more specific
8:03:48
hectorhonn
what are some notable libraries written in common lisp? for example, c++ has opencv
8:11:19
akater
I never used optima. From what I remember, trivia is an almost superset of optima, +enhancements.
8:12:24
shka__
hectorhonn: i think that petalisp can be really cool posterboy of cl libs because of high coolness factor
8:13:14
akater
fare even made some effort for trivia to “officially” supersede optima, as far as this is makes sense in CL.
8:16:52
akater
Does anyone actually understand LIL, besides fare? Only half joking, I never found any write-ups, or libraries which use it.
8:17:10
hectorhonn
maybe i should rephrase.. what are some notable libraries written in common lisp that are de facto libraries in that niche? for example, c++ has opencv which is de facto in the computer vision field
8:19:03
beach
hectorhonn: I suggest you avoid promoting Common Lisp unless you know in detail what you are talking about and what the competition looks like. Otherwise, you will likely get trashed and the result will not be advantageous to Common Lisp.
8:19:15
akater
I don't think there's anything de facto standard in CL, in a way which would be convincing for people who need CL to be promoted to them.
8:20:19
akater
hectorhonn: Well, I'm not sure if this could be described as “de facto standard” but there's a chance there's no alternative.
8:35:18
akater
CL is curiously hard to sell (to “people on the street”, that is). People keep saying something about parenthesis or how lists are stupid (and arrays are not).
8:36:14
akater
It's a riddle, really. I better spend time writing something cool and just telling facts about the standard and the community.
8:39:53
beach
shka__: People stick to what the belief that will make it unnecessary for them to learn something new.
8:42:02
beach
shka__: My (admittedly small) family recently had an exchange with a former colleague who thought Lisp was not used these days. When she pointed out Grammarly, ITA, Roomba, etc., the colleague immediately answered that Haskell would be better. So this professional developer assumed Common Lisp is a functional programming language. Convenient for him.