Fork me on GitHub
#off-topic
<
2020-09-28
>
flowthing11:09:04

Well, here’s something you can’t do with Clojure: https://github.com/codemix/ts-sql

Daniel Tan14:09:04

there’s many things clojure can’t do, luckily

flowthing15:09:35

Yeah, just to be clear, my comment was tongue in cheek. 🙂

schmee15:09:32

here is a actual quote from the top comment on ts-sql on hackernews: > TypeScript is becoming such a compelling language due to its insanely advanced type system (that allows for projects like this) that I now want to use it everywhere. I want it to become the next Python.

schmee15:09:05

I… don’t know what to say about that 😐

dpsutton15:09:45

doesn't seem that crazy to me. js runtimes everywhere. TS adds a gradual typing system with compelling features. package management is better than python. I don't think they are wanting packages written in this style (this is just flexing on the type system) but just kinda amazed that this is possible

dpsutton15:09:29

reminds me of aphyr solving the 8 queens problem in the haskell type system

Mno17:09:21

That was both terrifying and amazing

andy.fingerhut15:09:35

I only skimmed the README of that project -- is the type system basically so dynamic at run time that it can represent arbitrary collections, containing data that is unknown when the program starts executing?

dakra15:09:36

That's because we're all blub programmers http://www.paulgraham.com/avg.html

andy.fingerhut15:09:26

Or does that project SQL-TS somehow restrict you to performing SQL queries at compile time?

schmee15:09:32

I posted the quote to highlight how incredibly different people’s perspectives are: personally, “being able to write an SQL database in the type system” is waaay down on the list of features I look for a programming language

3
dpsutton15:09:34

but an advanced and expressive type system is desirable. I would love a gradual row polymorphism type system with inference in clojure.

3
noisesmith16:09:39

I like the way zig does things. it's a C replacement, and instead of preprocessor / includes / macros you can just use the full language at compile time (except unlike lisp you don't use the language to create new forms to compile, it's used to eg. calculate object sizes for allocation, or validate that certain error conditions are handled)

👍 3