Readit News logoReadit News
adz5a commented on Build Your Own Lisp   buildyourownlisp.com/... · Posted by u/lemonberry
adz5a · 7 months ago
Is there a resource which compares Lisps (expressiveness, limitations, available special forms, ...)? I often read about lisp 1 and 2.0, clojure being a lisp 1.5 (because of the callable keywords if iirc).

Dabbling into llms I think that lisps could be very interesting format to expose tools to llms, ie prompting a llm to craft programs in a Lisp and then processing (by that I mean parsing, correcting, analyzing and evaluating the programs) those programs within the system to achieve the user's goal.

adz5a commented on What Is miniKanren?   minikanren.org/... · Posted by u/Bluestein
fud101 · a year ago
I wish I was smart enough to understand this. I printed out the paper and tried real hard to understand but felt hopelessly out of my depth.
adz5a · a year ago
The paper on microKanren [1] is imho the most approachable piece outside the "reasoned schemer" [2]. The thesis on which it is based is also interesting but is a thicker beast. Looking at stuff from the clojure world (clojure.core.logic and this talk [3]) is also interesting imho, especially from a dev perspective. From this point of view I found this talk [4] to be especially enlightening in how to build a database / query engine and concrete applications of MiniKanren / datalog.

[1] https://github.com/jasonhemann/microKanren

[2] https://mitpress.mit.edu/books/reasoned-schemer-second-editi...

[3] https://www.youtube.com/watch?v=irjP8BO1B8Y&ab_channel=Cloju...

[4] https://www.youtube.com/watch?v=y1bVJOAfhKY&t=10s&ab_channel...

adz5a commented on Show HN: Indentation-based syntax for Clojure   github.com/ilevd/cwp... · Posted by u/ilevd
adz5a · a year ago
Interesting project, showing how "easy" it is to host[1] another language within Clojure. Like others, I admit I see little value for myself or as a selling point for beginners. For experienced engineers however, like I wrote above it should serve as a case study into how to hook up everything together to produce a working tool. Then it is a matter of seeing if and when there is opportunity to reuse such techniques to build DSLs that compile to native Clojure.

[1] Clojure is known to being designed to be hosted within another platform, but like all Lisps it is also a valid (and productive) hosting target by itself. It should be known that many of the APIs in the Clojure ecosystem rely either on:

- literal data structures - macros reusing native Clojure patterns / forms such as `let`, `def` ... - the shape of native (ie: defined within clojure.core) Clojure APIs, such as `get-in`, `with`...

Some examples: specter, integrant, mount, clojure.core.logic, datalog (datascript, datomic, xtdb), clojure.spec ...

adz5a commented on A Road to Common Lisp (2018)   stevelosh.com/blog/2018/0... · Posted by u/fuzztester
actuallyalys · 2 years ago
If you use Neovim, you could try Conjure.

I really like it for other lisps, but I haven’t used it for Common Lisp. I wouldn’t say it “contorts buffers in a bizarre way,” although in my experience, different Vim users have their own take on that.

adz5a · 2 years ago
I would be very interested to read about the limits of conjure. In my mind it is a fabulous tool, with vim-sexp it is very productive to write clojure code with and a pleasure to use.
adz5a commented on Nota is a language for writing documents, like academic papers and blog posts   nota-lang.org/#def-nota... · Posted by u/napsternxg
wiz21c · 2 years ago
Give me an inverted IPython and I'll be happy. By inverted I mean: I write code and from time to time I want to document it with rich information (plots, equations, a bit more structured text). So I would love to have powerful comments in my regular code. I'm not much interested in bits of code in a single document.
adz5a · 2 years ago
a version of this idea in clojure in which a clojure namespace is rendered as an html page with notbook like primitives

https://github.clerk.garden/nextjournal/clerk-demo/commit/8a...

adz5a commented on ChatGPT for Search Engines   addons.mozilla.org/en-US/... · Posted by u/danboarder
pelorat · 3 years ago
I think this could be solved by a multi-step approach. The first prompt could instruct the AI to generate search queries for your input. Then you'd take the output for that and do an actual search online. Extract the text of the first relevant hits then feed back that into a new prompt with additional instructions; "find commonality in these blocks of text and generate a summary" or "combine these blocks of text".

I think the true power of this tech will be when there's a paid API available and we can hide a lot of back and forth behind a single prompt.

adz5a · 3 years ago
I agree. I used ChatGPT to boostrap a coding session in which I was using a library to describe data structures. My steps were - ask for documentation and examples relevant to the task ahead. - produce some examples - tweak the example using domain-like data - propose a solution using the lib as is - ask for a solution using a different convention than the classic one

i kind of think about this as a REPL assistant. very interested in other ways to use it (and the use cases, anecdotally I also used it to try and learn a little bit of COBOL using the same iterative approach)

adz5a commented on TC39 Pipeline Operator – Hack vs. F#   benlesh.com/posts/tc39-pi... · Posted by u/jashkenas
Smaug123 · 5 years ago
It's a mindset thing. The pipeline operator encourages you to think about repeatedly transforming static dumb data. Dot-operators encourage you to think about repeatedly asking some smart blob of state to mutate itself. So the pipeline lends itself well to a purer mindset.

F# itself much prefers the pipeline, because of how its type inference algorithm works. F#'s type inference finds it much harder to work out the types when you use a dot operator, because so many possible types T could have `(x : T).Foo(bar)`, all those types are unrelated to each other, and notions of "has a member `Foo`" are quite hard to get right in the type system. By contrast, if you call `x |> List.map bar`, the types are almost totally fixed in an easy-to-understand way.

"Handling many different data types with a single function is an annoying thing to get right" - no, this is very common, and generics even make it easy.

adz5a · 5 years ago
Dot operators vs plain functions are just two different ways to call a function, binding the lexical context `this` to a different value, possibly `undefined` in a strict context (which is default in es6 modules). The two are not uncompatible and libraries like jQuery make a wonderful use of the first version (dot call). The fact is that everything is mutable in JavaScript and one of its main API (the DOM) is actually built around this concept.

I really fail to see how those kind of changes bring anything of value to the language, apart from creating complexity where there is much already: some codebases will try and use this before it's ironed out with different / changing / competing transpiler implementation while it is only stage 2. What happened with decorators (see babel-legacy-decorators) should be a warning against enthusiasm for these kind of things and remind me of the pitfalls of macros in the Lisp world...

I am not saying that you should stick with an idiom till the end of time but changes should try and lower that complexity while (in the case of EcmaScript) being backward compatible so as to not break existing stuff.

Btw I love RxJS and its variants, Ben Lesh's talks (as well as those by Matthew Podwysocki, Andre Staltz etc...) from around 2015 and then on were one of the reasons I got into JS as a professional.

adz5a commented on Efficiency Is the Enemy   fs.blog/2021/05/slack/... · Posted by u/tmfi
moksly · 5 years ago
I work in public sector digitalisation and have for a decade, so this article sort of rings home with me. Especially now, having passed a year of thousands of office workers working from home and having seen a rise in efficiency and quality across all our sectors. I’m not saying working from home is an all-good sort of thing, we have also seen an increase in stress and depression related sickness, but in terms of getting shit done, things have been never been better.

Which is sort of ironic from my department, because this has also been a year where our process optimisers and MBAs have been almost completely unable of performing their usual efficiency and benefit realisation consulting in our different departments, as that’s a hands on sort of thing. Not that they’ve done nothing, they’ve been to really good work helping managers coordinate remote work and teaching both the CEO and Political layers how to use Microsoft teams efficiently.

Anyway, if we’ve increased efficiency and quality more in a year or not trying to, it sort of begs the question what good trying really does. You obviously can’t really conclude anything scientific on our anecdotal measurements as we’ve seen the major change of going remote on top of it, but it is something to think about.

Not that we will, we’re already trying to figure out how to go back to the way things were, as the majority of our managers still seem to think people work better if they spend 7 and a half hours in an open office 5 days a week.

adz5a · 5 years ago
Anecdotal but I know at least one megacorp that is doing layoffs of manager level positions after noticing that their services/industrial processes worked well while them being on furlough during the lockdowns.
adz5a commented on Show HN: I made an app to buffer and complete my "read later" list   closetab.email/inbox... · Posted by u/lewisjoe
lewisjoe · 5 years ago
I've published the source code if you'd like to contribute/host on your own: https://github.com/joelewis/readmelater
adz5a · 5 years ago
Hello, thanks for your submission this is really interesting. Out of curiosity have you thought about how this problem could relate to history navigation, in the sense that it can create context around a specific resource, ie : retrieve links that you read after reading a HN thread, in order to prioritise its reading order or link it to some topic?
adz5a commented on Show HN: I made an app to buffer and complete my "read later" list   closetab.email/inbox... · Posted by u/lewisjoe
PeterBarrett · 5 years ago
That's a nice idea. My current approach is to close everything off and just accept that if I haven't read it within a couple of days I'm never going to and it's not actually that important! Having articles pop up in my emails sounds like a good approach.
adz5a · 5 years ago
Mine is to put links in Notion with a description and some tags and then forget forever about it.

u/adz5a

KarmaCake day41March 19, 2019View Original