Fork me on GitHub
#clojure-uk
<
2018-08-31
>
yogidevbear07:08:48

(-> ✨ β˜• ✨ morning πŸ˜„ o/)

πŸ˜‚ 2
3Jane07:08:19

(Pre-coffee, eyes don’t count as open)

otfrom07:08:44

@mccraigmccraig do you hate using things like map and reduce then? What about filter?

agile_geek07:08:12

(Proper espresso machine that in house Barista at my current client uses is broken, so I guess I'll have to do with the 'bean to cup' machine or go out for coffee) first world problems

otfrom07:08:11

I never knew about fnext, ffirst or nfirst. I love that clojure has cadr, caar, and cdar. πŸ™‚

πŸ˜„ 4
agile_geek07:08:54

Amazing I knew something about Clojure before you did @otfrom. Although I do forget about them sometimes.

❀️ 2
peterwestmacott08:08:56

just my 2 cents, but conj treating nil like an empty sequence seems pretty consistent with most of the rest of clojure.core

πŸ‘ 3
peterwestmacott08:08:08

(Pseudo-)Random core function of the day:

-------------------------
clojure.core/munge
([s])

peterwestmacott08:08:21

...which curiously has no docstring

peterwestmacott08:08:32

I suspect it may not be intended for general use

peterwestmacott08:08:22

from the implementation though it seems to call the bit of code in the compiler that swaps illegal characters (in Java land) for eg. _QMARK_ or _PLUS_

dominicm08:08:59

user=> (munge '??)
_QMARK__QMARK_

peterwestmacott08:08:59

eg: (munge "some!->strange+clojure+name?") => "some_BANG___GT_strange_PLUS_clojure_PLUS_name_QMARK_"

dominicm08:08:25

s stands for symbol and str, apparently.

peterwestmacott08:08:12

that’s the great thing about terse variable names - you can interpret them however you like!

mccraigmccraig08:08:21

langs without nil-punning still have map, reduce and filter @otfrom ! it's very convenient in clojure, it's true, but nil itself is evil so how can nil-punning not be πŸ‘Ώ

peterwestmacott08:08:34

I’m guessing that your ideal language has no concept of nil then?

πŸ‘ 3
thomas08:08:01

Didn't Tony Hoare call it his biggest mistake: adding null?

thomas08:08:25

I make mistakes as well... just smaller ones... πŸ˜‡

danm08:08:50

Paired whisky and beer tasting last night

danm08:08:55

Coffee and avoiding the bike this morning

alexlynham09:08:43

that munge fn is definitely used in error stacktraces then

dominicm09:08:07

@alex.lynham I think it's used earlier than that.

alexlynham09:08:48

you mean that refs just go through it early as a matter of course or?

bronsa09:08:37

NIL was in lisp since LISP1 (1960)

bronsa09:08:21

so I'm not sure about Hoare's claim that he introduced it in 1965

peterwestmacott09:08:43

He spent time in Moscow though, where causality is known to run backwards.

thomas09:08:56

I suspect because nil in Lisp isn't as bad as null in C/C++/Java etc?

thomas09:08:41

they are slightly different after all (assuming that the nil in LISP1 is kinda similar to the nil in clj )

peterwestmacott09:08:48

re: the munging - when Java classes are generated, their names come from a munged version of the Clojure names that defined the code

peterwestmacott09:08:55

then the stack trace has Java class names in it

maleghast09:08:01

Morning All πŸ™‚

πŸ‘‹ 2
maleghast11:08:19

Hello @ahmed.adam πŸ™‚ πŸ‘‹

danm12:08:42

He's our new team member, so is being indoctrinated into the Clojure Way πŸ˜‰

agile_geek12:08:50

I love that xkcd

maleghast12:08:03

Welcome to the coolest language community going - and I don't mean cool like the Fonz, I mean welcoming, friendly, mutually assistive etc. πŸ™‚

πŸ™ 1
agile_geek12:08:30

Heeeeeeey! :thumbsup:

alexlynham13:08:47

ahh indoctrination

3Jane13:08:31

(into doctrine induct @ahmed) ?

alexlynham13:08:15

(conj clojure-cult @ahmed)

thomas13:08:34

being indoctrinated with in minutes...