1,642 karma · joined June 13, 2012
email greg at toki.waseda.jp
I don’t mind it. You can use LogAttrs if you want to be explicit.
Although I do wonder if there’s anything tricky with the type system that is preventing something like this from being supported: https://go.dev/play/p/_YV7sYdnZ5V
For your particular example, using DCGs like:
file(X), phrase(("cat", ..., ".jpg"), X).
Is a bit clearer. You can use DCGs to do all kinds of parsing and generating (and in this case, testing). But they aren’t going to be as fast as a highly optimized regex engine.I've been thinking a lot about how to make Prolog (and niche languages in general) more palatable. Killer app, like Ruby:Rails? Corporate backing, like Go:Google? Strong IDE integration, like Typescript:VSCode? Cute mascot? Meme power (HTMX:Grug)? Seems like all of these can help but none are a guarantee. So I figure that starting with IDE support is a decent approach. At the very least it's something I would use myself.
The Reddit example you brought up is very interesting. I feel like niche languages can be a kind of advantage in attracting strong talent despite the small talent pool, but then you have companies that mistake headcount as growth and optimize their tech stack for hireability, picking the popular choices instead.
One decent argument against niche languages is libraries. I have some vague hopes that Wasm Components will be a huge boon for niche languages once it stabilizes and libraries and cloud services start providing their APIs in component form. Of course, we already have near-universal FFI with the C ABI but that is messy enough that most people are unwilling to work with it.
Enjoyed the rant! Here's my own :). I understand there are valid business reasons not to pick a niche language ("we need to hire 10 people NOW and use XYZ library! no time to write our own!") but it's a bit soul-crushing. Working on Prolog stuff is my way of coping.
The Yarn constraints plugin also used (Tau) Prolog, although it looks like it's in the process of being replaced with JS, which makes me a bit sad. The reasoning is here: https://github.com/yarnpkg/berry/issues/1276. Seems like the biggest issue is lack of a nice dev environment. I maintain the Trealla Prolog Wasm port (npm package 'trealla') and I hope some day to use it for a VSCode extension or LSP or something to provide a nice dev experience. Tau's performance has also been cited as an issue[1] but Trealla is quite fast and I expect it could easily handle a complex Yarn workspace with tons of facts. If this sounds like something you'd be interested in helping me with, feel free to contact me or make an issue/discussion here: https://github.com/guregu/trealla-js
[1]: https://github.com/yarnpkg/berry/issues/4079#issuecomment-10...
- WS_FTP LE
- notepad
- htmlgoodies.com https://web.archive.org/web/19991008040849/http://www.htmlgo...
Remote: Yes
Willing to relocate: Probably not, but I will work weird times
Technologies: Wasm/WASI, Go, Prolog, C, Rust, TypeScript
Résumé/CV: https://github.com/guregu
Email: greg@toki.waseda.jp
I am looking for WebAssembly related jobs. My ideal position would be working on language runtimes such as porting languages to WASI, or creating libraries for various languages that integrate a Wasm-based core. I am also interested in anything related to Prolog.
I have experience porting languages to Wasm and creating libraries that use embedded Wasm including deep browser support (see GitHub). Are you a Rust company but nobody wants to maintain the ugly C glue code or Go library? I will gladly be "the C guy" who takes care of that.
Update: I have reached out to the nice Stripe employee who volunteered their email, let's see what happens.
It's been pointed out a few times that my marketing says the site won't die, and me killing it would be very ironic. This is 100% true, and I have decided to leave the site up even if Stripe decides to ultimately close my account. Luckily, our infrastructure costs are very low (<$5 month currently).
I created this site when Google Play Music went down and lots of people were complaining about Google killing yet another product. I don't want to do the same thing to my users.
Finally, I would like to take this opportunity to plug a similar service that I am completely unrelated to. I saw its author post on HN and they seem like they are also a one-man-shop: https://asti.ga This service is different in that it lets you hook it up to your own cloud storage. I am only now realizing why this is such a brilliant idea.
I would be happy to hear any advice for better payment processors, of course.