« first day (497 days earlier)      last day (2378 days later) » 

09:21
@ngn btw, are you ready to make ngn/k's sources available?
because, well, being able to try something offline isn't bad :-)
@EriktheOutgolfer Can't you try it even if it is closed-source?
@Adám it's not even that currently
it's just a README file
ngn has only given the sources to TIO, and now only the executable is there (he also asked Dennis to delete the sources after pulling)...hm, what if I download that?
it's not like TIO itself is closed-source
@EriktheOutgolfer Exactly.
@Adám the problem I see is that I'm using Windows :-)
@EriktheOutgolfer I bet it is Linux-only anyway.
09:25
Ubuntu is currently on hiatus until June 26th, so I can upgrade it to 18.04.1 by then :P
@Adám I don't think that sources are Linux-only...
hm, I might be able to convert an ELF to an EXE, only if I find such a tool online because I won't bother doing it by hand
@Adám I can't find the /opt directory here :(
@EriktheOutgolfer It doesn't work like that.
@Adám yeah I suspected so, tried both pinned repos
@EriktheOutgolfer Here is part 1 and part 2 of the ngn/k executable in hex.
@Adám hm, let's see if the halves are correct...
(not that I don't trust you :P)
@Adám um, what is the output format there?
@EriktheOutgolfer Hex. Every pair of two characters forms a byte.
09:36
@Adám what do the whitespace chars represent?
@EriktheOutgolfer Nothing, just a quirk of the TIO wrapper.
ngn
ngn
@EriktheOutgolfer I don't have a plan really
my code is written in what most people here would consider a very bad style
@ngn ngn/c
@ngn doesn't mean it can't be compiled ;)
@Adám nah, it's "ngn style" :P
ngn
ngn
@Adám just plain c
@EriktheOutgolfer it's only linux and freebsd, 64-bit
(to be honest, I haven't tested on freebsd lately - I should)
09:43
@ngn There is no license listed at gitlab.com/n9n/k. What is the copyright status?
ngn
ngn
@Adám there's nothing there, it's just a homepage so Dennis has something to link to
@ngn I know, but I'm asking if we're allowed to copy and redistribute the executable.
ngn
ngn
@Adám haha :) at least have the decency to use k
@ngn hey, Adám might not know/be comfortable to use k...
@ngn Why don't 4.5E4#1:"/opt/k-ngn/k" and 4.5E4_1:"/opt/k-ngn/k" work?
@ngn Ah, 45000 works. No exponential format in K?
ngn
ngn
09:50
@Adám technically no - you can use it only "for a quick test and for golfing purposes" as mentioned in my homepage, but of course I wouldn't mind giving access to people who show genuine interest in k
@Adám no
@Adám yes, 64-bit ints
@ngn And you still don't have floats, do you?
ngn
ngn
I'm happy to keep chatting, but shouldn't we move this conversation to the orchard?
@ngn I guess, but it isn't in my power to do so.
@ngn oh, almighty Dennis, it looks like a little off-topic conversation sprouted in here, but we don't have the power you have, so can you please do us that one little favor of moving messages, to the great APL orchard?
@Adám you can't reply to another chat room...
ngn
ngn
@EriktheOutgolfer you didn't "@" him
09:55
sure, but "almighty @Dennis" sounds weird (<-- @ in this message)
ngn
ngn
@Adám regarding floats: I started adding some support for them but I hit a wall with printing a float
I'm not smart enough to do it properly
also, in an unrelated on-topic note, I finally got the ELF file, yay
@ngn Maybe print the fractional part after integer part, separated by a period. Just thinking.
@EriktheOutgolfer Uh oh, ngn will come after you. Was it really that hard to recombine and translate the hex to binary file?
@EriktheOutgolfer for what
also yeah that^^
@ASCII-only ngn/k
09:58
@Adám I came home from yet another day @ finals :P
@Adám no, wrong target! he should come after Dennis if he dares ;)
ngn
ngn
@EriktheOutgolfer my team of laywers will be watching you - the moment you start using ngn/k for anything but quick testing and golfing, a swat team will break in and arrest you :)
@ngn do you really think I want to reverse-engineer the ELF?
cat /opt/k-ngn/k | xxd | head -n 1792
# cat /opt/k-ngn/k | xxd | tail -n +1793 | head -n 1792
# cat /opt/k-ngn/k | xxd | tail -n +3585
you know I'm not really known for intentionally violating licenses
ngn
ngn
@EriktheOutgolfer not really, it was a joke
10:03
@EriktheOutgolfer yes
@ngn obviously
@EriktheOutgolfer Something like:
in←(⎕NEW⊂'Clipboard').Text
⍞←'Copy next part and press Enter'
in,←(⎕NEW⊂'Clipboard').Text⊣⍞
⎕IO←0
(⎕UCS hex⍳(part1,part2)∩hex←16↑⎕D,⎕A) ⎕NAPPEND 'k' ⎕NCREATE 0
ngn
ngn
@Adám it's not as easy as it sounds
@ngn Maybe not, but I suspect others have done it before you.
@Adám wow why would I do that when I can just click ngn's link (or write up my own code, it's not that hard), remove the 0x part, and then xxd -r the hex?
ngn
ngn
10:06
@Adám I've looked at some ftoa() impls and they are rather complicated
I'd like to achieve two things: first - simplicity
second - I'd like the output for a float to contain enough information for the value to be reconstructed exactly
@EriktheOutgolfer Well, you do need transfer via the clipboard to a file, no?
@ngn As in bit-wise exactly?
@Adám just Ctrl+A, Ctrl+C, Ctrl+V :P
it's not really that large
@EriktheOutgolfer Of course. I was just showing how you can automate it and give it a nice "interface".
ngn
ngn
@Adám yes, if you take the output as a string and execute it, you should get back the value you started with
@ngn That may be impossible. (Without special notation to denote the binary remainder)
ngn
ngn
10:09
no fuzzy nonsense like ⎕pp or ⎕ct
@Adám not impossible, just hard
with every digit you print you get closer to the actual value on the real line, so after enough digits it becomes unambiguous
@ngn Well, actually, every binary number has an exactly decimal representation, no?
ngn
ngn
@Adám yes, possibly very long
 
4 hours later…
14:17
@Adám Which parts of the conversation should I move?
@Dennis I think everything from chat.stackexchange.com/transcript/message/45004407 to chat.stackexchange.com/transcript/message/45005293 relates to K/APL more than to TIO.
67 messages moved from talk.tryitonline.net
ngn
ngn
14:47
mini-poll: if 2 2 2\6 is 1 1 0 (the last 3 digits of the binary representation of 6), what would you expect 2 2 2\6 7 5 to be?
⎕←2 2 2⊤6 7 5
@Cowsquack
1 1 1
1 1 0
0 1 1
ngn, ^
ngn
ngn
@Cowsquack so, the columns are the binary representations
I think it would be better if it was transposed?
⎕←⍉2 2 2⊤6 7 5
14:51
@J.Sallé
1 1 0
1 1 1
1 0 1
Seems more natural to me
actually nvm, I thought it did it the other way around, yeah transposed is what I would prefer
J also does it the transposed way
   2 2 2#:6 7 5
1 1 0
1 1 1
1 0 1
ngn
ngn
that makes more sense to me too
do you allow non-ascii variable names in your k?
ngn
ngn
14:53
@Cowsquack no
@Cowsquack though I'm ready to stray off the path if there are good reasons :)
related question: if 2 2 2\5 are the last 3 binary digits, (,2)\5 is the last binary digit, what would you expect of 2\5?
for example, I would reeealy like J much more if it did ^^^
@ngn the same as (,2)\5
because right now, I always have to refer to J's vocabulary for finding out which symbol does which
ngn
ngn
@Cowsquack utf8 decoding costs some complexity and some performance, but there's no reason why ascii-compatible code pages shouldn't be allowed
@ngn probably the whole binary representation of the right argument?
ngn
ngn
@J.Sallé that's the answer I was hoping for :)
Because as of now you'd have to know how many digits the binary representation has, right?
ngn
ngn
15:00
it comes up too often in golfing
ngn
ngn
@J.Sallé right
@ngn Yeah, I'm with J.Sallé, extend the scalar as necessary.
@ngn what is the difference between passing in non-ascii chars and passing in multiple ascii chars?
ngn
ngn
@Cowsquack ascii is 7-bit (0-127), non-ascii chars need to be encoded somehow, usually as utf8 which uses multiple bytes with a set 8-th bit (codepoints 128-255) to represent a single char
@Cowsquack the simplest thing I could do to support unicode is to treat any char beyond U+007F as a letter - then I wouldn't need to do any utf8 decoding
of course, unicode has many non-letters and that may be confusing...
15:12
@ngn so this avoids the costs to complexity and performance?
ngn
ngn
@Cowsquack yeah, k is supposed to be simple and fast
@ngn what do you mean?
Ven
Ven
@Cowsquack Unicode contains many "characters" that aren't "letters".
for example in J, I would be able to do ⊂←<, but is not a letter
ngn
ngn
@Cowsquack example: "LΛ" is two codepoints (U+004C,U+039B) but three bytes (0x4cce9b); in order to determine if the second character is really a letter, I would have to decode the bytes
but if I treat any byte >128 as a letter, I wouldn't need to decode - from k's point of view LΛ would look like a 3-letters variable name
15:21
ah okay
Ven
Ven
.oO( Just pretend you're java and embrace UTF-16 )
ngn
ngn
@Ven k wasting 2 bytes where 1 would do? no way :)
Ven
Ven
well, really, you're only wasting one of those 2 bytes :P
ngn
ngn
@Ven rephrase: "k wasting 1 byte where 0 would do?" :)
@Cowsquack well, I suppose you want to treat ⊂⊂ as two separate identifiers
but that's hard - it requires decoding and knowledge about where the letters are in unicode
yes... okay, I think I see what you are getting at now
15:29
@ngn No, we really need to look at whether a character is a letter or not, and only letters should combine with neighbours.
ngn
ngn
@Adám that's what I did in ngn/apl long ago, but I'm reluctant to do in ngn/k
ngn
ngn
15:51
yet another "encode" question: what should 2\7 8 return?
@ngn You mean [[1,1,1],[1,0,0,0]] or [[1,1,1],[1,0,0,0]]?
ngn
ngn
as 2\ means "as many digits as necessary", 2\7 is 1 1 1 and 2\8 is 1 0 0 0 - they have different lengths, so I could return (1 1 1;1 0 0 0) or pad with leading zeros: (0 1 1 1;1 0 0 0)
@ngn Backslash + Backtick = Hell
@ngn I suppose it is easier to pad until rectangular than to remove leading 0s, so I say ragged.
ngn
ngn
@Adám it's not so easy to pad
@ngn ↓↑ ;-)
ngn
ngn
15:57
@Adám that would pad with trailing 0s
k doesn't have mix (↑)
@ngn I think adding leading 0s until rectangular is the "standard"?
@J.Sallé Yeah
@ngn No, that would pad with trailing. you need ⌽↓↑⌽
But if making a ragged array would be easier and wouldn't affect whoever's doin' the golfs, go for it.
ngn
ngn
@Adám still wrong but doesn't matter, I see what you mean
16:02
@ngn Why is that wrong? Reverse along last axis, mind you!
ngn
ngn
@Adám you need each
Ven
Ven
⌽↓⌽ is a fairly weird smiley.
ngn
ngn
@J.Sallé I think I'll go for rectangular to avoid nasty surprises, even if it's slightly less efficient
k heresy :)
@ngn sounds good
@Ven looks kinda creepy
ngn
ngn
@Ven cats have that sort of eyes
16:13
⌽↓⌽, not so creepy
(and not so, eh, smiley)

« first day (497 days earlier)      last day (2378 days later) »