last day (1113 days later) » 

7:27 PM
nobody else take the first message
 
what if I do it anyway
 
too late :)
* befunge's g and p commands should probably not be added
 
I want to make a fungus pun but can' tthiink of one
 
@Wezl i can technically move your message out of this room which puts mine at the top. :)
 
Would it be compiled to C or interpreted?
 
7:29 PM
* most likely written in C
* could be compiled
 
@user see, i can easily think of one, because i'm a fun guy :)
 
Poll: which language do you want it written and/or compiled in (unless interpreted)?
 
C or Rust
Rust is good
 
@user written in C because I know it
 
brainf***
 
7:30 PM
@RedwolfPrograms C is just generally more supported
 
Haskell is good too
 
Yeah, and I guess Rust takes the fun stuff out of low level programming
 
I've looked at rust but it's too complicated for my taste
@RedwolfPrograms :)
you mean the leaks?
 
Yep, and the security holes
And the classic, Segmentation fault (core dumped)
 
OTOH haskell might be ok if we have AOT compilation
 
7:32 PM
i have never touched haskell before
but it looks cool
 
it does but I have some problems with it
like the indentation
 
I just downloaded GHC but I haven't learnt me a haskell for great good yet
 
@hyper-neutrino It is
 
and most of all, I can't run it
 
:(
 
7:32 PM
@RedwolfPrograms I highly suggest it, even though I don't like haskell that much
 
Can y'all do C++, at least?
C is kinda hard
 
@user too complicated (I don't know enough of it)
 
C++ is yucky
 
I mean templates are cool
but ridiculous compared to like lisp
 
^
Templates are also useful
I'd suggest Scala 3 but y'all wouldn't like that
 
7:34 PM
^ this is super cool
it's supposed to be as fast as C but with lua metaprogramming
 
How about we write it in raw machine code like real programmers :p
 
and it has tools for JIT-compilation built-in
 
Manual memory management ain't fun
 
but I can't run it because LLVM isn't installed in the right directory or something
 
write it in 10IPL
 
7:35 PM
Rust is cool because there's no GC and you don't have to manually delete/allocate stuff
 
SML is another option, it has the advantages of Haskell but I can run it
 
10IPL runs in Minecraft and allows self modifying code, so it's the obvious choice
 
but also there's lot's I'd have to learn
* instructions will be 2 chars wide
 
@Wezl :(
 
what's wrong?
 
7:37 PM
2 chars is too wide
1 char or bust
 
but the possibilities
 
(just kidding)
 
I hate befunge having v as a direction command
 
Do you know any more cool languages?
 
@user lots lots lots lots lots
those are what I breathe
 
7:38 PM
@Wezl That could easily be replaced with a Unicode character
 
@user worse
 
Why?
Oh it should be typeable
 
it's hard to type
 
What to replace it with?
 
there would be several prefixes
 
7:39 PM
. or , maybe?
<,>^
 
each command is prefix followed by opcode
so it would be a symbol, say %, so directions would be %^ %< %> %v
so v would still be used, but not by itself
 
Makes sense
 
definitely open to suggestions btw
@user but what type of cool language
 
If/when you finish Whiplash and you want help with IDE support, I'd love to help out
 
these are almost 100% "cool languages"
 
7:42 PM
I only recognize a few
 
yeah they're all mostly obscure
but they bring unique things to the table, which I subsequently copy and hammer into my own
 
Wax looks kinda odd ngl
 
it is
I might consider it as an alternative compilation target from one of my (multiple) languages
it's not quite as low-level as C so I'd still compile to C
 
Red and Rebol are kinda cool
 
really cool but I can't run them :/
 
7:46 PM
Can you access a remote VM?
 
maybe but it's too much trouble
 
What about repl.it? (although that just has mainstream languages)
 
I can access openBSD pretty easily but it has many of the same problems
@user yeah and why would I use anything mainstream :)
 
:P
 
Use v86 and run arch or debian in your browser :p
 
7:47 PM
so any more ideas for languages to write it in?
 
There are so many non-mainstream languages/technologies I want to try out but I can't because docs/ide support/whatever sucks :(
@Wezl Racket?
 
You've made me realize we could just write a compiler and those could almost be ran on anything
@user good idea, I have that and it's somewhat working
any experience with it?
 
Nah
 
I write a lot of stuff in tinyscheme, which is slow and weird and has a bad repl, but it's extremely fun
 
I would have had experience with it if I hadn't signed up for the "advanced" CS class at my school and learned Java
 
7:49 PM
wow advanced
 
ikr
The Java stuff was insultingly low-level
 
we could write it in scala and I'd learn new things
 
That'd be awesome
 
but pretty complicated, I'm not sure I can run scala, and just moral objections against statements being newline-terminated
 
It'd be best if you chose a language that you're comfortable with, though
@Wezl I agree with the first, not so much with the second
 
7:52 PM
scheme is super simple (modulo continuations), would recommend
 
@Wezl If it makes any difference, I've never found any ambiguity or confusion due to that when writing Scala code
 
moral objections
 
@Wezl I've always wanted to try a lisp, this might be a good opportunity to
@Wezl ...ok
 
let's concurrently write an implementation in the language we're writing, so it remains usable
btw I've used "we" too many times for you to opt out :)
 
That'd require a well-written spec first
@Wezl ლ(ಠ益ಠლ)
@user (which would actually be a good thing)
 
7:56 PM
still true, we should start the other impl and draft a spec first
so now we've agreed on the language (java), do we make a list of instructions?
 
We're using Java?!
 
*grins broadly*
but no
 
I'm outta here /s
@Wezl I guess, yeah
I need to do some more research into Befunge first myself, even if you're the brains behind this
 
you can have RO if you want
 
Nah I'm good
 
7:58 PM
room topic changed to Whlplash: fast fungeoid (no tags)
 
Honoring the typo in Befunge?
 
it just felt right :)
what are some good tags?
 
fungeoid
 
true, I don't have to limit myself to CGCC tags
room topic changed to Whlplash: fast fungeoid [befunge] [compiler] [fastest-code]
room topic changed to Whlplash: fast fungeoid [befunge] [compiler] [fastest-code] [scala]
 
Thanks!
 
8:02 PM
room topic changed to Whlplash: fast fungeoid [befunge] [compiler] [fastest-code] [lisp]
 
(not sure if you're kidding again, but I'm happy it was temporarily scala)
@Wezl Okay, you were kidding :P
 
I'll see if I can run scala brb
scala-js is an advantage
 
(there's Scala native but it's a bit unstable)
@Wezl Yep, it could be run online
There's Kotlin, but you'd probably like it even less than Scala
gtg now, bye
 
@Wezl What do you dislike about newlines being used to end statements?
 
@RedwolfPrograms it's a kludge
 
8:07 PM
In what way?
 
A good language should know what the ends are just by looking at the tokens inside
like lua
automatic semicolon insertion is disgusting, and most language's approaches are not much better than js
for example, if a language depends on newlines it doesn't work when pasted in single line input fields
although for that line comments break it too
I hate this
@user also there's probably a language, at least an esolang, already named whiplash
 
Oh right
Btw Factor's a cool language, though I'm not sure it'll be right for this (or that you can run it)
 
yeah
let's do postscript
:P
now I'm trying to figure out how to use ecj to run jars
tbh it's always this hard to run things in termux
 
8:26 PM
Maybe it should be a poll
You get two votes if you're going to contribute to development
Your options are:
- C
- Scala
- Haskell
- Scheme / Racket
- Befunge
- Java
- C++
- Rust
- SML
- Factor
(purposely omitting BF because no)
you can still vote once if you're just watching
 
i vote C (and if I decide to contribute, + Racket)
 
Here's a poll: strawpoll.me/42951990/r (you can choose multiple languages, but please don't vote twice)
 
I prefer voting here because you can explain yourself and I can count, but OK I'll vote there too
 
I mean, it's easier to count there, but we can always also post here
 
oh wait why didn't I add prolog that would be cool
if we do C we can have a pretty fast interpreter, but anyway we can compile
 
8:39 PM
Which brings up the next question, What is a good target?
- BF because yes
- Wax is cool
- C makes sense
 
@Wezl Wax would be a good IR, maybe, but not a target
I agree with C
 
@user what's really the difference? Unless we create a new compiler for it, it can be one of the backends
 
I feel like the language itself should be worked on a little before we start thinking about how to compile it
 
true true true true true
 
@Wezl Well, from what I can tell, Wax is meant to compile to other languages. It doesn't have any of the nice features unique to other languages
 
8:42 PM
if you add something prefix it with * for a hypothetical documentation writing script
@user so it's like an IR, but we don't have to do some of the work
 
Hmm
 
@Wezl that I've already messed up with my *grins broadly* :/
 
wax is kind of a bonus for scheme
 
We could use Chez Scheme maybe
Turn the checks off and it works pretty well
Idris 2 uses it
 
8:45 PM
but the data structures could be represented about as well in others
 
Yeah
 
@user it also allows racket, but *groan* my racket is outdated or something so it didn't build
otherwise that would be another cool language and yay, more indecision
 
:\
 
serendipitously, I've already started on a wax code generation from r5rs scheme library :)
but it's just barely started so not enough of an advantage
 
Aww
 
8:49 PM
that's it
 
what font is that
 
We may need jit for commands like p, actually
 
huh, nice!
 
1 hour ago, by Wezl
* befunge's g and p commands should probably not be added
 
8:50 PM
Oh :P
That'd make it a whole lot easier
 
though it does remove a significant fun part of befunge
if we want we could keep g
I'm debating (in my head:) whether to write the ideas down, and if so in like a git repo or a collaborative markdown thingy
ofc I'll put them in chat too
ideas for "prefix"es:
 
This might be a dumb question, but how do you take input (in Befunge)?
 
- movement commands like j#v<>^
@user & and ~
 
@Wezl Thanks
 
@user <hint>it's on the link I posted</hint>
- IO commands
- all the alphabetic prefixes should be user-defined
- numeric prefixes are for literals like any two-digit number pushes itself
- stack manipulation commands like :\$ and rot select-from-top (new-stack? like having a stack-stack)
 
9:01 PM
I like the idea of a stack-stack
 
- arithmetic +-/%<> >= <= ==
 
- arithmetic commands?
 
@user yes :)
 
Wow
 
- implementation-specific pragmas and stuff
- noops
- stuff for creating your own prefixes and commands
 
9:04 PM
Macros, maybe?
 
macros are weird in 2d
but yeah
you don't need macros as much for stack-based things
 
I wonder how a multidimensional fungeoid would work
@Wezl I guess so
 
like more than 2d?
 
Yeah
How would you type the code?
 
actually maybe you do need macros if it's going to be compiled
 
9:06 PM
Functions would be nice
 
@user "In Trefunge-98, the Form Feed (12) character increments the z coordinate and resets the x and y coordinates to zero."
@user yeah definitely
the problem with functions is you have to delimit them somehow
same with like modules
you don't have the curly braces of 1D languages
concurrency is cool in 2D languages too
 
9:24 PM
@Wezl What does the rot command look like?
 
A B C -- B C A
 
I meant what the character used for it was
 
oh I have no Idea
 
The Funge-98 spec includes \ but I can't tell how to do that
 
should I make a table?
 
9:26 PM
That'd be great
Is there any other way to do A B -- A B A B?
 
 
Yeah
 
I just remembered how much I hate markdown tables
 
You don't need the colons iirc
 
they're for alignment, which is niceish
 
9:34 PM
the colons are just for alignment
also i would recommend codeblocking the instructions (just `.`)
 
I probably shouldn't put the right bar
 
Bye gtg watch tv
 
bye
 
10:13 PM
why is it whlplash
 
2 hours ago, by Wezl
room topic changed to Whlplash: fast fungeoid (no tags)
read from here
obtw @rak1507 any preference for an implementation language?
 
I probably won't be doing it so whatever causes the rest of you the most pain
 
>:|
2 hours ago, by Wezl
(purposely omitting BF because no)
 
Haskell then
hope you like monads
 
yeah they're nice :)
 
10:31 PM
 F.>~:?!?W?:01+-_F.+*.@
    .@01.<
CMC guess what this does
 
stuff
 
hint: commands are two chars wide, and there's a space before the F
 
thanks that really helps (not)
 
hello user
 
Hi
Is whlplash going to have concurrency? (probably not, right?)
 
10:41 PM
I have no idea how
but I have no objections if anyone else does
 
It would probably complicate it, so maybe we could add it later once the basic stuff's done
Compiling a language like this is going to be hard :\
 
JIT would be cool
Might still be pretty complicated, and the runtime might get a bit bloated
 
basically it says look at all the possible paths and then compile those
but it has to redo stuff when you p, which whlplash could fix
 
How fast is Befunjit?
 
10:45 PM
it compiles to js so probably not much
 
> The process described above works fine, but it is rather slow due to the high number of context switches.
:(
 
Thanks
 
doesn't have anything written down though
 
And I don't feel like downloading and running it
 
10:48 PM
still, if we ditch p then we can go fast
and some paths will be optimized away, at least if we compile to something like c
 
This looks good
@Wezl Yeah
 
ooh, I've already starred that repo but I hadn't actually looked at the code
 
The code looks like it was written by a golfer :P
 
ninja'd
 
?
 
10:52 PM
github.com/serprex/Befunge/commit/… "Started doing some code golf, found a bug in 1-stack p for marsh/bejit"
@user was about to say
 
:P
 
perhaps ninja'd does not apply there
 
Long-term ninja
 
yay I feel so productive
esolangs are a new way to cheat
 
At what? Being productive?
 
10:54 PM
at feeling productive
 
And here's me struggling to do the latin square thing
 
lol
fgitw-ing two easy questions got me more rep than hours of work for old questions (in terms of upvotes, ignoring bounties)
 
11:14 PM
Oh by the way Nim is a good language
 
moral problems with that
 
Ha! Feel the pain of extra choices
@Wezl Indentation?
 
yes
gtg
 
Bye!
Have fun grooming your goat or whatever it is gtg means there
 
heh
 
11:35 PM
we can make an alternative implementation in Ash and call it WhlplAsh
 
11:56 PM
yay we bumped off the APL orchard
 

  last day (1113 days later) »