« first day (309 days earlier)      last day (2346 days later) » 

12:31 AM
does APL have a logo? googling I only get American President Lines's logo :P
 
@Downgoat You mean Dyalog or just APL?
 
@Pavel dyalog and ngn specifically
 
NGN doesn't.
 
@Pavel oh thanks
@Pavel does this come in svg?
 
@Downgoat IDK, ask @Adám
What do you need it for?
 
12:44 AM
@Pavel ppcg-v2
 
@Downgoat Whatever you're doing I like it
@Downgoat You could ask @ngn if there's a logo for ngn-apl
 
 
2 hours later…
2:42 AM
aha found dyalog logo svg
 
 
5 hours later…
ngn
7:46 AM
@Downgoat APL doesn't even have a name :) They called it "A Programming Language" after the title of a book by its creator. As I have no graphic design skills but wanted some sort of memorable image in the readme, for a while I used the ASCII rendition (using figlet) of "⍎" (the APL glyph for "execute"), but then removed even that. I also considered this though I never published it:
 
8:06 AM
@ngn What does the red/black stand for?
 
ngn
@Adám anarcho-syndicalism :)
 
 
3 hours later…
11:11 AM
@Pavel @Adám what does the פ stands for?
 
ngn
@Uriel it's a D (Dyalog)
 
@ngn someone's Photoshop has gone malfunctioning
 
@Uriel I think the idea is that the DYALOG letters should look like existing APL primitives; ⊃∨∧⌊○⊂
 
ngn
@Uriel it's the first letter of the official Dyalog logo, see dyalog.com , though the shadow may not be in accordance with the laws of optics :)
 
@ngn Yeah, I complained about the shadow too, but that particular image was intended as an application icon and looks ok in small sizes.
 
ngn
11:18 AM
@Adám I agree
 
@ngn I wanted the shadow to be cast on the cube.
 
or at least that's not a shadow at all
 
ngn
@EriktheOutgolfer judging by the brightness of the three sides of the cube, the light source must be above the cube (top side is brightest) and a little to the left (left side is brighter than right)
@EriktheOutgolfer so, if it's a shadow, it should be below the D and a little to the right. You may be right, the dark regiouns could be a cut in the cube :)
 
@ngn I think I'm with EtO; those brown things are just underscores hanging in the same plane as the D. All three plates are suspended well in front of the cube.
 
ngn
@Adám maybe the D is on a glass pane and those are just reflections :)
 
11:30 AM
@ngn you can call it a smudge, some darker paint, some black filter, the base of an actually elevated D, what you can't call it is a shadow :p
@ngn how no
that's again a shadow
 
I don't think it is possible for the D to cast a shadow on the cube when the light comes from high above the cube. Ergo, it isn't a shadow at all.
 
@Adám ...underscores?
 
@EriktheOutgolfer Yeah, well serving the purpose of underscores by trailing the edge of text in one direction, without actually touching the text — for emphasis.
 
@Adám notice how the thickness changes on the curves
do underscores change thickness?
 
@EriktheOutgolfer That's just for style. The lower right edge of the crescent has a completely different shape than the D.
 
11:37 AM
@Adám so a crescent is hiding in there too...
 
@Adám but...in the middle? :p
 
@EriktheOutgolfer Why not?
 
@Adám well, like a bulge in the underscore?
 
ngn
@EriktheOutgolfer what's the simplest explanation (Occam's razor)? - the designer took 2 copies of the D, slid one diagonally and took the difference
@EriktheOutgolfer He painted the difference brown, slid the top copy a little further (to the top-left) and painted it white.
 
11:42 AM
@ngn That's not the case. There is a gap between the white and the brown. And it appear so me that the brown has a different curvature.
 
@ngn if that was the case then the D would've had way more serious problems
 
ngn
I could be wrong. There's one way to tell...
_starts gimp_
 
multiline+markdown=hell
 
ngn
@EriktheOutgolfer my theory is confirmed
 
I think the D would've been mostly cut off
and the curve has a crescent shape
 
ngn
11:47 AM
this is the same logo with the white part cut out and placed on top of the brown part - fits exactly!
 
not to be pedantic, but I still see some brown stuff in there :-p
 
ngn
I was only wrong about how the top edge of the brown part was cut out - it doesn't follow the curves of the D
@EriktheOutgolfer due to my shaky hand :)
 
@ngn I think you can use the arrows instead :)
 
ngn
@EriktheOutgolfer you're right, thanks, I'll know from now on
 
also btw those little brown parts can actually make a giant difference
 
ngn
11:51 AM
@EriktheOutgolfer I only wanted to illustrate the confirmation of my theory :)
 
Proofs, Derivations, Tests by Roger Hui of @dyalogapl https://www.youtube.com/watch?v=EJONZpNA81s #FnConf17
Design Patterns vs. Anti-pattern in APL by Aaron W Hsu of @dyalogapl https://www.youtube.com/watch?v=v7Mt0GYHU9A #FnConf17
Code Jugalbandi by @softwareartisan and @mkromberg of @dyalogapl https://www.youtube.com/watch?v=1A1Kh-Ij99o #FnConf17
Dyalog on the road again this week with Richard Smith talking at the FinnAPL autumn meeting.
 
ngn
if anyone craves array-friendly problems: adventofcode.com/2017 starts tomorrow
 
@ngn how do you know it's array-friendly?
 
ngn
@EriktheOutgolfer last year most of them were
@EriktheOutgolfer this year kx are among the sponsors
 
@ngn thanks, registered through github
also, do you know if I can submit answers to previous years as well?
 
ngn
12:05 PM
@EriktheOutgolfer it looks like you can
 
> you have to wait after submitting an answer before trying again
wow that's really sadistic, one whole minute?
yay, my first star
 
ngn
@EriktheOutgolfer congrats :) what language are you solving in?
 
currently python
but that doesn't matter
 
12:31 PM
@EriktheOutgolfer huh?
@ngn what languages does it support?
 
ngn
@Uriel you only submit the answer, you can solve in any language
 
@ngn hmm like Euler project? When does it start?
 
ngn
@Uriel a bit like it yes, except that at AoC inputs are personalised and there are two phases to solving each problem - the second one appears after you solve the first; it starts tomorrow
 
@Uriel like many euler projects at once with 2 problems each afaict
but no forums
@ngn personalized? you mean it's random?
how do you know
 
ngn
@EriktheOutgolfer it's determinalistically pseudorandom - it remains the same for the same user; I used some of last year's AoC problems as tests for my private k implementation
@EriktheOutgolfer for example, see this comment news.ycombinator.com/item?id=15814122
 
12:58 PM
#tio alias view
 
@Adám
Command Aliases:
⍞← -> #TIO do apl-dyalog ⎕←%args%
⎕← -> #TIO run apl-dyalog (⎕NS⍬).⍎'⎕CY''salt''⋄⎕SE.UCMD''box on -fns=on''⊣enableSALT'⋄⎕←%args%

Language Aliases:
apl-dyalog -> [apl]

Message Aliases:
)help -> %handle% [Dyalog APL Language Elements](help.dyalog.com/16.0/Content/Language/Introduction/…)
)ref -> %handle% [Dyalog APL Reference Card](docs.dyalog.com/16.0/ReferenceCard.pdf)
)about -> %handle% You can evaluate an APL expression by typing it into chat prefixed by ⍞←. Use ⎕← instead for boxed display and multi-line results. Do not use mar
 
1:18 PM
#tio alias command ⍞← #TIO do apl-dyalog ⎕TRAP←(0 1000)'E' '⎕ML←1⋄(⊃⎕DM),{(×≢⍵)/'': '',⍵}⎕DMX.Message'⋄⎕←%args%
 
@Adám No alias type called "⍞←"
 
#tio alias command ⍞← #TIO do apl-dyalog ⎕TRAP←(0 1000)'E' '⎕ML←1⋄(⊃⎕DM),{(×≢⍵)/'': '',⍵}⎕DMX.Message'⋄⎕←%args%
 
@Adám Added alias for ⍞←
 
⍞2+3
⍞←2+3
 
@Adám 5
 
1:18 PM
⍞←÷0
 
@Adám DOMAIN ERROR: There were errors processing the script
 
1:51 PM
#tio alias command ⍞← #TIO do apl-dyalog ⎕TRAP←(0 1000)'E' '''ERROR: Use ⎕← for a full error report'''⋄⎕←%args%
 
@Adám Added alias for ⍞←
 
⍞←÷0
 
@Adám ERROR: Use ⎕← for a full error report
 
#tio version
 
@Adám TIOBot v 0.0.6
 
Ven
2:08 PM
Hi
 
2:43 PM
@Ven Bonjour.
 
ngn
@Ven hi, welcome to the APL room
 
Ven
Shalom :)
 
Ven
2:53 PM
@Adám wanted to ask if you had been able to look into tryapl upgrade again?
 
@Ven You mean for 16.0?
 
Ven
Yes
 
@Ven It is ready to go, but for some reason only works on a Windows server, and it is supposed to run on a Linux server. This issue it is being actively worked on as we speak. (I just spoke with the one who is working on it, 15 mins ago.)
 
Ven
Ohh, amazing to hear :)
 
@Ven We are also working on a complete overhaul, but that will have to wait. For now, you'll get ⊆ ⍸ ⌺ @ ⍎ ⎕JSON, various extensions, and fewer crashes.
 
Ven
3:02 PM
That's all I ask for :). Working with TIO is too much of a mental burden for me. I need the repl-ness.
 
@Ven Have you noticed that you can now have an APL language bar and APL keyboard everywhere (i.e. even on TIO)?
 
Ven
@Adám wdym?
 
@Ven the top item on the starboard
 
Ven
oh, right
@Adám That's very nice!
Not as good as a repl though :-).
 
3:07 PM
@Ven Thanks to ngn.
 
Ven
even adds keybinds :o
 
3:24 PM
@ngn Would it be possible to push the body content down to make room for the lb so that it doesn't obscure anything?
 
Ven
@Adám I'm interested to know if there are any plans at all for an updated Mastering Dyalog APL?
 
@Adám What if I want to enter an actual backtick
 
@Pavel backtick, space.
 
TY
 
@Ven No. We have been considering and addendum with new features, but afaik, there are no active plans. We need an author, and Bernard has retired :-(
 
Ven
3:27 PM
@Adám ah :/
 
ngn
@Adám I already add margin-top to the body. The problem is elements with position:fixed near the top, they remain obscured.
 
@ngn Could you draw the language bar at the top, and put the original page in an iframe below it?
Disclaimer: I am not a web designer and have terrible ideas.
 
ngn
@Pavel that would mean a reload of the page
 
@ngn Hm. Yeah, I didn't manage to find a way either, despite various SE posts claiming it is doable.
 
Iterate over every element and find the ones with position:fixed, then shift those?
 
3:33 PM
@Pavel That won't work for elements which are created dynamically later.
 
ngn
@Adám no solution is perfect. I could traverse the DOM tree and... do what @Pavel just said - thanks for saving me the typing :)
 
@ngn Maybe the language bar should be at the bottom. Less risk of obscuring important stuff there.
 
ngn
@Adám I don't think people who are already familiar with APL would like that
 
@Adám I think that would obscure the SE Chat Bar.
 
ngn
@Adám well, if it obscures something important, people can simply close it
 
3:36 PM
@Pavel Nah, it almost fits in the dark blue area below the input box.
@ngn True.
@ngn True.
@ngn Something else: Some keyboards do not have backtick at all, e.g. Italian. Would it be possible to have an input field next to the close button where one can enter the desired prefix char?
 
ngn
@Adám there is no cross-domain persistent storage to remember that in
@Adám we could make a separate bookmark for Italians and others whose keyboard has no `
 
@ngn True, but it would not be a lot of work to switch key after each bookmarklet click. Maybe I'll just make some variant links for other prefixes.
@ngn Heh, great minds think alike.
 
ngn
@Adám "what shall I have for dinner tonight"? :)
 
@ngn Alcohol and chocolate?
 
ngn
@Adám hehe, I don't drink chocolates :)
 
3:43 PM
@ngn Btw, TIO could benefit from this by storing the special symbols for each non-ASCII language and then displaying a custom language bar when that language is selected.
@ngn I mean drink alcohol and eat chocolate. Am I right?
 
ngn
@Adám of course
 
@Adám That sounds like not dinner but something to be consumed throughout the day as you wonder what you're doing with your life.
 
ngn
@Adám another way to solve configuration issues is to have a page where people can fill in a form with the settings and generate a bookmarklet that has those in the url
 
@ngn That's a great idea.
 
ngn
@Pavel that's if you have a life :)
 
3:47 PM
@ngn For some reason the spaces I inserted ceased to show. Any idea why? They do come back if I add whitespace:pre-wrap, but it still wraps between characters instead of between words.
 
ngn
@Adám oh, my fault - I added css to wrap them around
@Adám I don't use grouping in my (ngn/apl's) language bar
 
@ngn How? I tried removing word-wrap:break-word but that doesn't do anything, and anyway, it should only cause in-word wrapping when a word doesn't fit on a line.
 
ngn
@Adám I looked at your code and now I wonder how it worked before
@Adám so you have these ' ' between the groups
 
@ngn Shouldn't it "just work"? It ends up rendering words. The fact that some letters are bold should not matter.
 
ngn
@Adám so there should be <b> </b> with a space inside, but I can't see the space in the dom
 
3:54 PM
@ngn I see it.
 
ngn
@Adám the space?
 
@ngn Yes, my inspector (when choosing Edit as HTML) shows <b title=""> </b>
 
ngn
@Adám if you add white-space:pre it looks ok
@Adám I mean add to .ngn_lb{ ... }
 
@ngn Sure (but should be pre-wrap) but it still breaks inside words. Also, did you have pre earlier?
 
ngn
@Adám I'll have to check
@Adám I had it
@Adám but I removed it because I didn't need it...
 
3:59 PM
@ngn Oh, OK, I'll add pre-wrap, but that still doesn't explain why it breaks inside words.
 
ngn
@Adám well, as you mentioned before - word-wrap:break-word
 
@ngn No, even if I remove that.
 
ngn
@Adám it could be that some APL chars are "word chars" and others not
@Adám does it wrap at any char or just some?
 
@ngn No, it was clearly working for all groups, and now it treats them all separately.
@ngn Every single one.
@ngn Now I've changed the last four to abcd and it still breaks between them.
 
ngn
@Adám oh, I had to float the <b>-s left, it could be because of that
 
4:04 PM
@ngn Yes, that's it. Why do you need to float them?
 
ngn
@Adám I was trying to put the [x] in its place, maybe I don't really need float, I should test...
 
@ngn You don't. Only [x] needs float:right.
@ngn And removing the float:left also fixes the whitespace issue.
 
ngn
@Adám I'll fix it in a moment. Sorry.
 
@ngn Fixed already.
 
ngn
@Adám my lb looks broken without float
 
4:09 PM
@ngn Mine is fine :-)
 
ngn
@Adám try shrinking the window narrower than your widest group
 
@ngn Right, you just need to add word-wrap:break-word. That breaks words which don't fit.
 
ngn
@Adám I have that
 
@ngn imho we need .ngn_x{margin-top:-3px}
 
ngn
@Adám that's too close to the edge
@Adám I'm sorry, I'll have to add float again. You can override it with !important in your css.
 
4:15 PM
@ngn Oh right, iirc, I have narrower left and right margins on my lb, so it looks good by me. Otherwise it makes the entire lb taller than needed.
@ngn You do realise that I maintain separate code for mine, right? Your changes do not affect my lb.
 
ngn
@Adám I do, but sometimes you copy from my newer code
 
@ngn I've learned to only copy from d.body.appendChild(el) and onwards.
 
 
3 hours later…
7:06 PM
I'm sorry if this isn't the right place to ask this question, but does anyone know if an English translation of Datenstrukturen in APL2 (springer.com/in/book/9783540557470) exists? The only alternative I can think of is purchasing the German version & running every page through a translation engine. Unless there's a better place to read up on data structures in APL
 
7:37 PM
@masaldaan Absolutely the right place. Datenstrukturen means data structures, but I assume they mean arrays. Try Chapter B of the free book Mastering Dyalog APL and maybe have a read through my Introduction to Arrays in APL. I'll be happy to answer any questions you post here too.
 
well, the name was mine, but whatever :p
 
@EriktheOutgolfer ?
 
@Adám isn't it me who bookmarked that?
or who is it
sorry if I sound a bit harsh btw
anyways
it takes 16 bytes each to 1) reduce from left and 2) reduce first from left
ReduceFromLeft      ← {⍺←⊢⋄⌽⍺ ⍺⍺⍨/⌽⍵}
ReduceFirstFromLeft ← {⍺←⊢⋄⊖⍺ ⍺⍺⍨⌿⊖⍵}
@Adám I'd suggest new operators in place of those two dops
 
@EriktheOutgolfer Oh, yes, it was you who came up with the excellent name and started the trend of naming the lessons. Thank you. (Since I was teaching, it was still my lesson, no?)
 
@Adám (I only claimed courtesy of the name ;-P)
anyways, the whole lesson is licensed under CC-BY-SA 3.0 with attribution :p so I guess that proper attribution would be enough :p
but then the participants have to be attributed too, since they contributed
fortunately, SE itself has done all the attribution for you
 
7:54 PM
@EriktheOutgolfer What we really need is the Under operator, . Then ReduceFromLeft←⍺⍺⍨/⍢⌽ ⋄ ReduceFirstFromTop←⍺⍺⍨⌿⍢⊖
 
@Adám how is that supposed to be implemented?
 
@Adám I'm completely ignorant when it comes to German, but google translate seems to convert the TOC fine. It has chapters like Stack and queues, trees & graphs. Plus a chapter on Classic algorithms and their suitability for APL2, that looked interesting. In any case, I'm not really there yet. I was wondering if it would be a good 2nd book to study. Thank you for the other suggestions, I will read them first.
 
@EriktheOutgolfer Under←{×⎕NC'⍺':(⍺⍺⍣¯1) (⍵⍵ ⍺) ⍺⍺ (⍵⍵ ⍵) ⋄ (⍵⍵⍣¯1) ⍺⍺ (⍵⍵ ⍵)}
@masaldaan There are plenty of English APL resources. Have a look at the Links section in the chat bots' profile.
 
@Adám are you sure it works? booleans don't seem to want to be negative
      {¯1:1⋄2}1
DOMAIN ERROR: Boolean singleton value required
      {¯1:1 ⋄ 2}1
            ∧
 
8:10 PM
@EriktheOutgolfer ⎕NC returns 0 for undefined, but valid, names.
 
@Adám Thank you, that's really helpful. Have a nice day/evening everyone!
 
@masaldaan Any time! ○/
 
@masaldaan bye
btw @Adám it's interesting how there is an official hackish way to accomplish shyness, but it's not implemented explicitly
(1:s←)
 
@EriktheOutgolfer Yeah, I find that very silly. If the last statement is an assignment, the function should be shy no matter how many lines/statements it has.
 
@Adám or even just implement it explicitly as some :-stuff or something
for example :Shy would make perfect sense at the front of a shy dfn
 
8:18 PM
@EriktheOutgolfer I vote for monadic being shy. Assignment is already shy, you just remove the name on the left to get that effect without assigning.
 
@Adám exactly!
 
@EriktheOutgolfer Really, I think monadic should have been shy, but that's too late now.
 
@Adám um no, that's just a monadic function
 
@EriktheOutgolfer Monadic has the downside that you can't capture the result and continue with it.
 
@Adám (currently it doesn't even exist but that's another story :p)
@Adám thinking of it again, yeah, identity functions have gone to waste a little bit
so maybe should've really been shy
but I don't think that decision was made by Dyalog was it?
 
8:28 PM
@EriktheOutgolfer Dan (who was the ]UserCommands guy until he died) wanted it, so he snuck it in secretly: Look in the Debug for the entire session transcript!
@EriktheOutgolfer Yes it was, and are not in ISO APL and are so far Dyalog (and thus ngn/apl) exclusive.
 
@Adám bah, maybe it was made before "shyness" was introduced?
 
@EriktheOutgolfer No, shyness was always in APL (although not in user defined functions). However, shyness is nasty. IMHO, all statements under program control should have been shy.
 
@Adám actually shyness can sometimes be useful, for example a function intended to modify some variables shouldn't have to return anything, it's not the return value that we use it for
 
8:44 PM
@EriktheOutgolfer Exactly. Shyness should have been a "system" thing, not a per-function thing. If you wanted output (as opposed to returning a result), you should have to be explicit about it (⎕←). And if you wanted shyness in the session for some reason, you should be able to silence statements with {} or monadic or maybe monadic .
@EriktheOutgolfer As it is now, it can happen that while a large program runs, spurious output appears in the session, and you'll have a hard time tracking down what caused it (although we now provide a tool that can tell you) because you can't just go search for ⎕←.
 
@Adám well, {} is still hackish
 
@EriktheOutgolfer Yeah, I can't stand it. And it is not shy; it doesn't return a result.
 
@Adám yeah that too
      2{s←⍺+⍵}5
      ⊢2{s←⍺+⍵}5

7
 
@EriktheOutgolfer Shyness is especially confusing when a function is conditionally shy, like {2|⍺:_←⍺+⍵⋄⍺+⍵}.
 
well, that s right there is truly unnecessary
 
8:50 PM
@EriktheOutgolfer Yeah, but watch it get really ugly: Insert a newline before } and the function will appear to still be shy, but now you can't coerce the result any more!
 
@EriktheOutgolfer well, it assumes that there's a "do nothing" command over there
 
@EriktheOutgolfer Since when do blank lines matter in code? If you add the newline after { instead, it works just fine.
 
btw 1:s← prevents the statement from being an assignment statement, thus terminating the dfn
@Adám the logic seems pretty messed up there
the empty command is maybe not considered either an "assignment command" or a "non-assignment command"
and btw blank lines should simply not matter, period
 
@EriktheOutgolfer No, 1:s← is still an assignment. It is the 1: which marks that the function ends here, and thus never continues to the next and empty line. Trailing empty lines do not have a value.
 
@Adám the logic is really, really messed up there imo?
 
8:55 PM
@EriktheOutgolfer I do see the logic. I just disagree. Compare to ⍎'' and ⍎'2' and ⍎'2 ⋄ '
 
@Adám maybe "guards" are a different thing from "assignments", I probably see it too
 
@EriktheOutgolfer The rule is simple enough: Empty statements are equivalent to {}⍬ except they don't cause dfns to terminate.
@EriktheOutgolfer And true guards always cause the function to terminate after whatever statement comes after the : (even if empty)
 
@Adám oh so if a guard is given a falsy value execution continues?
 
@EriktheOutgolfer Thus to make a dfn shy, you need an assignment combined with either a true guard or the absence of further statements.
@EriktheOutgolfer Uhm, yes. Isn't that the whole point of guards?
 
9:16 PM
@Adám @ngn I've detected a bug with the language bar, it doesn't move the page a bit down so it obscures some stuff at the top
 
@EriktheOutgolfer It does what it can (add margin to body) but there is no way (we know of) to universally move even absolute'ly position'ed items down (other than going through them all, all the time).
 
@Adám hm
maybe that's true
 
@EriktheOutgolfer However, you can just hide the bar. The shortcuts still work, and you can show it again using the bookmarklet.
 
what you can't do is close the bar
 
@EriktheOutgolfer Huh, why?
 
9:19 PM
@Adám it just hides, but shortcuts and such are still functioning
 
@EriktheOutgolfer F5 turns everything off.
 
@Adám F5 is like restarting the whole webpage :p
 
@EriktheOutgolfer Yeah. We considered (you can see our discussion in the transcript) adding both a minimise button (which hides) and a close button (which stops everything) but would rather keep it simple.
@EriktheOutgolfer Nick also suggested leaving a one pixel line as indicator for backtick mode being in effect.
 
I did see the transcript :)
 
@EriktheOutgolfer You're welcome to submit pull requests if you want to have a go at a minimise button and/or 1-pixel line. Just beware that the code is golfed Nick-style.
 
10:14 PM
)about
 
@Zacharý You can evaluate an APL expression by typing it into chat prefixed by ⍞←. Use ⎕← instead for boxed display and multi-line results. Do not use markdown. Commands: )lb for language bar, )help for table of language elements, )docs for full documentation, )ref for PDF reference card.
 
⍞←5×3+2
 
@Zacharý 25
 
⍞←r←2
 
@Zacharý 2
 
10:15 PM
⍞←r
 
@Zacharý ERROR: Use ⎕← for a full error report
 
@Zacharý How do you like the new error handling?
 
@Adám What do you mean?
 
@Zacharý ⍞← used to give a blank response on error.
 
It's definitely better.
 
 
1 hour later…
11:33 PM
@Adám @EriktheOutgolfer regarding "shyness", python has a similar behaviour where in REPL assignments evaluation returns None and therefore prints nothing. Makes sense, considering that although you did create a variable, the return value is that of the operation and not the operands.
I think Scala and Julia follow the same path, and IIRC clojure REPL actually print the representation of the created function (usually comes as it's name and some weird numbers)
 
11:47 PM
@Uriel I think all agree that assignments shouldn't cause stuff to be printed. The question is non-REPL non-assignments should have implicit printing or not.
 

« first day (309 days earlier)      last day (2346 days later) »