This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-08-21
Channels
- # announcements (1)
- # babashka (39)
- # beginners (91)
- # cider (9)
- # clj-kondo (10)
- # cljsrn (1)
- # clojure (54)
- # clojure-europe (45)
- # clojure-italy (2)
- # clojure-nl (1)
- # clojure-spec (39)
- # clojure-uk (21)
- # clojurescript (7)
- # core-typed (1)
- # cursive (9)
- # data-science (1)
- # datomic (2)
- # docker (3)
- # emacs (11)
- # figwheel-main (11)
- # fulcro (19)
- # java (1)
- # juxt (1)
- # kaocha (68)
- # malli (7)
- # meander (5)
- # off-topic (76)
- # pedestal (1)
- # re-frame (6)
- # reveal (1)
- # rum (2)
- # shadow-cljs (48)
- # sql (6)
- # tools-deps (47)
- # vim (8)
- # xtdb (23)
code as silly performance art, at least good for a laugh https://github.com/noisesmith/love
"the first language to work as its own code of conduct"
it's the first feature complete pure bug free language
Is there a recursive version?
it's in a PR branch, there are related requests for safe containerized unit tests and security consultants
it's really important not to run buggy versions of critical path code
there are also questions open about bootstrapping
I'm not the original author, but it's free, and it could be the oldest language / code
Spec if pretty clear, very good and succinct documentation. Qn: How do I invoke it on the command-line? Also, what is the recommended IDE to execute this language
it's executable by any sufficient system, and self describing / self executing (supposedly)
I can't really explain how it works, it's inherited code, but I think it's worth sharing and using because I don't know of any bugs
Hmmm, just got an exception:
Call to noisesmith/love did not conform to spec.
-- Spec failed --------------------
Not enough -- emo -- provided
This could potentially get hairy, giving up ....
I'm confused by that
I can't debug right now. But since Datomic gave us REBL, I will debug later on when I find the chocolates and flowers
oh it's not that domain specific, much more general than the chocolates / flowers kind of thing (but it works for that too)
I would classify this under Mood Specific Language as opposed to Domain Specific Language
puts on hippy hat "but mooooods are a way of thinking maaaan"
puts on agreeable hat
if you said love was real, stupid people would give you a fate worse than death
OK, I didn't quite intend it at first, but it's looking like it could become a fun little role-play style ARG in the form of a github project
when does the world switch to IPV6?
It has been in progress for years, and will be in progress for many more years to come, I think is the correct answer. I wouldn't be surprised if IPv4 remains in use somewhere nearly indefinitely, as long as the Internet exists.
this is an old bit of info about ipv6, but when i originally read it i found it interesting: https://cr.yp.to/djbdns/ipv6mess.html not sure how much still applies
"Unfortunately, the straightforward transition plan described above does not work with the current IPv6 specifications. The IPv6 designers made a fundamental conceptual mistake: they designed the IPv6 address space as an alternative to the IPv4 address space, rather than an extension to the IPv4 address space." well F**K.
hope it's a palindromic unixtime
that would be cute
I've been watching the Ziglang project from afar for a while and I was wondering about a detail in https://github.com/ziglang/zig/issues/853: > The bootstrapping process is O(1) and never gets more complicated than this What is the Big-O complexity in reference to here? i.e. if it were, say, O(n), what would n represent in the context of a compiler?
the big O would have to be related to the number of linear scans (here it would have to be one) and to the complexity of any algorithms that do things like unifying types at compile time, I think
it's speculation but it feels correct
worth looking into
I've been looking into zig myself recently, might actually use it at some point
explain?
"There is no hidden control flow, no hidden memory allocations, no preprocessor, and no macros."
I haven't really looked at it, but I bet the obsession with bootstrapping indicates a lack of an interpreter, or interpreter kind of thing, so nothing like a repl
right, it attempts to be a radically simplified C
when I looked at it awhile ago, it did have a form of metaprogramming where zig code was evaluated at compile-time (probably via the self-hosted compiler they also talk about in the PR linked). I didn’t see a REPL tho
blub is a structural definition, not an epithet
of course he makes it sound like an epithet to communicate something to the reader :D
hmm. blub to me always seemed like a fallacy, i.e. “everything without the features I have sux, and anything with stuff other than what I have is unnecessary and sux too”
when it’s really about tradeoffs & constraints. a “blub” language to me means something whose designer & community uses the blub fallacy to motivate its design
I think basically I take it to mean not very inspiring and lacking force multiplying features
which, we've already seen although the zig docs claim not to have macros, they then go on to talk about compile code evaluation
perhaps the distinction is using the same language for the compile time expressions as runtime?
it looks like it has the ability to run expression at compile-time but no ability to manipulate an AST
for example, let’s say zig decided to move to fully self-hosted and didn’t maintain a compiler in C++. Then as someone who needs to build the latest zig compiler from source, you would need to go back to the last version that could be built with C++ & compile that. Then use that version of the zig compiler to compile the latest zig compiler 😅
n
can grow if you need a specific version of zig in order to build the latest zig. So you could end up with something like:
I want to build zig version Z
…
Build last C++ version (call it version X
).
Z
can only be compiled with version Y
and up. So I fetch the source for version Y
and compile it.
Now that I have Y
, I can build version Z
.
this is much more likely correct than my guess above, thanks
I think what Andrew’s saying is that by always maintaining a C++ version of the zig compiler, you can always bootstrap the latest version of zig on a new platform as long as the platform has a C++ compiler available (which is a pretty low bar)