« first day (2573 days earlier)      last day (2568 days later) » 

00:00
I'm wondering if I should have a single-character builtin that evaluates to the current market price of a bitcoin in USD
@Οurous $ ?
@Adám ₿
@Οurous Ƀ
ngn
ngn
@Οurous do you have enough bits to store that? :)
@Οurous ฿
00:04
@ngn I currently have 117 allocated codepoints
oh
heh
Some days yes, some days no.
ngn
ngn
@Οurous no, I mean in the int type :)
@Οurous anyway... failed joke about the price of bitcoin, ignore me
@Οurous Just return rand()
wanna see a screenshot of my pygame thingy so far?
not particularly
00:39
I found another error in the y position algorithm
dangit
Three stacks, calling them: abc, xyz, or lmr
meh, lmr is better in context
@ETHproductions GolfScript doesn't have an official online interpreter. Moreover, copy.sh/golfscript is incompatible with the official Ruby interpreter.
or I could go with fml. Which is funny
00:57
Could've sworn GolfScript was built atop python, but nope
Why do all the various golfing languages have some sort of python, ruby, etc eval? :V
goes to look at other esolangs out of annoyance
@moonheart08 Debugging?
No, finding something i can use as a all-round testcase for a JIT compiler library.
If you can't tell, i don't want to just immediately write a C JIT compiler :p
No, I was saying why golflangs might have a py/ruby/whatever eval
That's my guess, evaling a scripting language Is probably never good for golfing.
01:11
@mudkip201 you there? Is there any docs for pyt?
Because it takes little effort to implement it and it can be useful sometimes.
(see Jelly recursion limit)
@user202729 I have to remind myself that interpreted languages can't do tail call optimization
because stuff like recursion limits bugs me for some reason
They can. (tinylisp)
@moonheart08 Sure they can
01:19
I mean they usually cant
:P
And not all calls are tail calls.
True
Plenty of ways you can optimize recursion, even then. (in terms of x86: reserve some register or two for the recursive call to not use the stack to pass things along, don't use x86 call, use a jump, etc)
@moonheart08 IIRC x86 can't actually do recursion with subroutines without some magic involved. If you call a subroutine that's already been called somewhere up the call stack, it will overwrite the address to jump back to on ret and you'll get stuck in an infinite loop.
Good point. I'm not a x86 wizard :P
more like an apprentice
@Dennis Thanks, I've switched the link to TIO.
01:28
Wait
that makes no sense, @Pavel
To anyone: any other new-ish golfing langs that should be added to this list? I've just added Pyt and Stax, as I've seen them around a bit
This has to do with a story my dad told from back when he actually used Assembly, so what I'm describing might actually predate x86 and not apply anymore.
It predates x86. I just checked
:P
Recursion in x86 is literally just a call if you don't mind an eventual stack overflow
You had me thinking for a moment, tho
@ETHproductions Fireball no longer exists. (github missing)
@moonheart08 thanks, I'll look into that. Currently updating a bunch of outdated information
Well i'm scanning over your list to find a featureful language, so i'll catch a few things
01:36
maybe i should make some sort of golfing language
that used to be the hot thing to do, and it's still done quite frequently
At least 37 golfing langs have been made by PPCG users
I don't really get much inspiration for golfing languages though
@moonheart08 Jelly has TCO. The full program Ñ¶Ç (roughly f=lambda x:g(x); g=lambda y:f(y); f(0)) runs forever.
Oh, neat
returns to spouting near nonsense
JavaScript also has TCO (or is supposed to, it's the last remaining feature of ES6 that doesn't have widespread implementation)
01:47
@Dennis Ah hah! I know what all three of those symbols mean!
@Pavel to note, thats for old systems that didn't have a call stack.
Right, right.
they just had a dedicated register or memory location for one return address
Each subroutine had it's own. You could still call subroutines from subroutines.
01:49
Unless it was really early Assembly. Then IDK.
Just my luck... SourceForge is down the one time I try to access the original CJam website
Why can't I find a latin letter u with a single dot above it. It has to exist.
not as a precomposed character it doesn't iirc
@ETHproductions Works for me
@ETHproductions buged me too lol
01:53
bah
Wait nevermind caching
lul caching
If a dotted character isn't in Jelly's cp, it doesn't exist... IIRC
so great but so evil
@Οurous Nope, doesn't exist (see first line of file)
01:54
@Dennis, is that right? Does Jelly contain all the dotted latten letters?
doubt it. ĿŀḸḹṨṩṜṝẬậẶặỆệỘộỢợỰự
:P
In case you're wondering, yes, those are all precomposed characters
@mudkip201 Ŀ is there at 0xC7
And ŀ 0xEE
H̛̟̦͎ͯͣ́̑̓̓́E̡̘̰̩̩̣̗͂̇͌̆ͣͅͅ ̷̢̳͚̩̱̈́͛C͍̟̫̞̼̰̻̠͖͋ͫͦͩ̄̏ͧ̌͘͠O͔̳͒͊͌ͮͦM̵͔̹͖̗̻ͪ͌͐͊ͅĖ͎͈̲̻͔̗̏͛ͮ̎͛͆̈́S̖̺̯̲̫̤̱͂̊̃͗ͯ́͂̚͟‌​̗
01:57
But all the others are not included :P
I meant all the dotted basic latin letters.
all characters are complex
Opinions: Assuming I can't use R/r for various reasons, is U/u = Upend/Upturn okay for reversing / flipping
sure, it's what Jelly uses
ƋƗƋ ɎǪɄ ⱾȺɎ ⱾØⱮƎŦǶƗƝƓ?
if you're sticking only to alphanumerics, sure
02:00
a lot of people said a lot of somethings
@mudkip201 I'm not, but all the visually distinct arrows and turny things are used already
@mudkip201 ňǒ
@Οurous I used ↔ for reversing an array/the stack
you use that one?
@mudkip201 That sets the traversal direction to either left or right, at random.
02:02
ah
ooh 2D?
@Οurous
@Οurous you don't need to have mnemonics anyway
Is @Okx around anymore?
@DestructibleLemon If I didn't need mnemonics I would just assign 255 bytes of garbage to 255 instructions and call it a day
02:03
@DestructibleLemon Just use random unicode characters. That's what MY does, it uses unicodey-mnemonics.
@Οurous I'm just saying it's obviously ok because z would be ok too
@ETHproductions I believe so, last seen Feb 10th.
@Οurous you'd still need to make the 255 instructions
also why not 256
@PhiNotPi Their last post was in January, though it's pretty sporadic
Their language Fireball does not seem to exist anymore. The repo disappeared and the lang was last used 9 months ago
@DestructibleLemon Good question
@PhiNotPi thanks :P
What languages do you know allow unicode identifiers?
> null == 0
< false
> null > 0
< false
> null >= 0
< true
why JS
or is this like an IEEE thing
@Downgoat Because in JS, a >= b is implemented as ! (a < b)
Null is not less than 0, so it must be greater than or equal to it
02:27
@Zacharý Haskell does
@H.PWiz I asked that because D does as well, which I realized from a mistake,
@Zacharý Dyalog APL (well, western European)
@Zacharý Swift allows emoji Identifiers
@Adám ... is it restricted to quad av?
in The APL Orchard, Jan 24 at 19:36, by Dyalog APL
@Adám ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüþ∆∇⍙⍵⍺ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ
02:31
@Zacharý Go does.
Perl 6 does
RIP Icelandic people
Perl 6 is extremely obsessed with unicode actually
@Zacharý So: no.
@Pavel Fortress... Fortress loves it SO much more than Perl 6
@Zacharý What?
02:33
Capital thorn
Neither is 'ý'
@Zacharý I don't think that's a deal-breaker, though. Lowercase looks much like uppercase.
@Zacharý Which is in ⎕AV. A bit strange with those two cases.
Are we drifting into BASIC land here?
@Adám ._.
@Adám Whats ⎕AV
CMP: a,b|>c == a,(b|>c) or a,b|>c == (a,b)|>c? x,y` represents a 2-tuple and a |> b == b(a)
02:38
Which language? Your own?
@Pavel The Atomic Vector (the classic Dyalog character set).
@HyperNeutrino a, (b |>c) IMO
(a,b)|>c!
@Zacharý proton 2.0
I like (a, b) |> c better because I think |> shouldn't be seen as a function call but more like you take a value and then feed it into the next part of the expression.
Uncurrying (Don't know what to call it) can be a possibility with the latter option
02:40

Lesson 14 - stack & workspace info, misc

Jan 24 at 18:30, 1 hour 30 minutes total – 189 messages, 6 users, 0 stars

Bookmarked Jan 24 at 20:30 by Adám

a@b should bind as tightly as possible but b |> a should bind as loosely as possible IMO.
Currently that's how it works, I'm just wondering where to place a, b in the list.
@Zacharý kebabing (okay, I'm joking, it's called uncurrying)
@HyperNeutrino That's c((a, b)) and not c(a, b) right?
Also programming language idea: operators that are closer to their values bind that value more tightly, so a+b * c == (a+b) * c but a+b*c is still a+(b*c)
@Pavel oh yeah you're right. should |*> be a thing?
If you have a splat pipe |*> then , can go between |> and |*> in precedence since splatting a tuple into a function is generally more useful than piping it in directly.
02:42
@HyperNeutrino I does this IIRC. Except normal OOP is RTL/LTR only
hm ok
so you suggest |> over , over |*>
So a, b |*> f is f(a, b) but a, b |> f is (a, f(b))
@HyperNeutrino Yep
ok cool. that's a good idea. thanks!
@HyperNeutrino I does that
Oh cool :P
02:44
@HyperNeutrino Try it online!
@Pavel You've been ninja'd
(((a+b)*(c+d))**(e*(f+g)))*(h+i) -> a+b * c+d ** e * f+g * h+i :P
@Zacharý That's exactly what Haskell calls it
I really hope I is esoteric
@HyperNeutrino Kinda
02:45
hm
TIO labels it recreational, and it isn't useful, but you wouldn't really call it an esolang
oh ok
J-based I see
It's basically APLs level of "esoteric"ness (I'm using "esoteric" VERY loosely, as APL (most if not all varieties) are non-esoteric) high on tons of crack. To clarify, it seems like it was designed switching between esoteric and non-esoteric
I wonder what a list of "dead programming languages" would look like.
oh hm ok. so kind of like proton
it would certainly include every language i ever made minus proton :p
02:48
@PhiNotPi ... ,DARTMOUTH BASIC, ..., Fortress, ...,
@PhiNotPi Define "dead"
Late 2017, I asked Dennis to add SNOBOL to TIO, and discovered it's still under active development
Let's not let anything SNOBOL out of control. (I'll stop)
@Zacharý I guess a language nobody is currently using.
Or nobody is currently learning.
Ignoring esolangs that were never meant to be learned by anyone anyways.
I like how Zachary always provides good puns but knows went to stop :)
02:52
@Christopher I've learned my lesson, so I've KICKED that habit
ಠ_ಠ
1869 upvotes in 2 hours
@HyperNeutrino Where
@Zacharý @​Dennis fix
wait why is the number changing so much
02:53
(ZWS causes heart attacks every day)
@Christopher don't randomly ping mods ಠ_ಠ
ahem ^^
@Christopher Why ping Dennis?! You can ping the penguin. They'll probably kick me quick
ahem ^^^^
oh you did mean zero-width space
02:55
have a cookie
ಠ_ಠ ZWSP is the proper term
I'm personally more fond of the ZWNJ
same thing
I once put a ZWSP in the middle of a dennis joke ping. I didn't realize that it actually pinged him :P
@Adám ... wat
02:58
@HyperNeutrino My life was over when i realized what I did. IIRC dennis was understanding
or i got banned idk what one it was
lol :p i mean dennis is a nice person :p depends on how many times you pinged him and how bad the joke ping purpose was :p
:⍴
iirc the joke was the ping :P
Now. Mego might kick you on the spot, if his reactions to my puns are anything to go by

« first day (2573 days earlier)      last day (2568 days later) »