Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
i feel like the ridiculous syntax is core to the cultural identity of annoying lispers

Adbot
ADBOT LOVES YOU

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER


Suspicious Dish posted:

i feel like the ridiculous syntax is core to the cultural identity of annoying lispers

very much so

i guess s-expressions are a product of their time, an artifact if you will of computing of days past

animist
Aug 28, 2018
badlang contains several layers of higher-level-languages embedded in comments of lower-level languages. for this reason every line must start with the string //#--(*

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.
badlang's compiler will definitely be faster in the next release

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER


badland comments start with ^^

Progressive JPEG
Feb 19, 2003

the delete operator is ,,|,,

VikingofRock
Aug 24, 2008




badlang ifs take the form


code:

OwO x is null?

dougdrums
Feb 25, 2005
CLIENT REQUESTED ELECTRONIC FUNDING RECEIPT (FUNDS NOW)
badlang's exception messages are just Aristotle quotes, and they are always statically linked

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER


dougdrums posted:

badlang's exception messages are just Aristotle quotes, and they are always statically linked

also you have to pass them up through the functions ala golang

gonadic io
Feb 16, 2011

>>=

Boiled Water posted:

also you have to pass them up through the functions ala golang

badlang just lifts go's error handling exactly

e: also it's module system (the old one anyway I know nothing about the new one)

Cybernetic Vermin
Apr 18, 2005

Suspicious Dish posted:

i feel like the ridiculous syntax is core to the cultural identity of annoying lispers

a bit, but racket has always been a bit of a rebel from that perspective, straying pretty far from scheme "standards" and so on.

dougdrums
Feb 25, 2005
CLIENT REQUESTED ELECTRONIC FUNDING RECEIPT (FUNDS NOW)
badlang only compiles to xop instructions

gonadic io
Feb 16, 2011

>>=

dougdrums posted:

badlang only compiles to xop instructions

this, but xor

fritz
Jul 26, 2003

how many bits are in a badlang int / byte / octet

Doom Mathematic
Sep 2, 2008

fritz posted:

how many bits are in a badlang int / byte / octet

You can set that at run time. Default is ten.

animist
Aug 28, 2018

Doom Mathematic posted:

You can set that at run time. Default is ten.

when asked why ten was the default, the developers replied that it only makes sense, since we naturally count in base 10

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

fritz posted:

how many bits are in a badlang int / byte / octet

current year modulo 100

Phobeste
Apr 9, 2006

never, like, count out Touchdown Tom, man
The number of bits in a byte is configurable. It defaults to nine for one parity bit. The automatic parity counting feature was disabled two major releases ago after a number of critical flaws were found in it and was disabled by default before that, but some system libraries unpredictably expect it to be a parity bit and break if it's not while some use all 9 bits for data. You can change this value in a compiler setting but if you do this the standard library won't compile since the person who wrote the library thought anything other than 9 was dumb

Soricidus
Oct 21, 2010
freedom-hating statist shill
probably it should allow bit sizes to be configured per variable, so if you know an array will only ever hold numbers < 32, you can set it to use 5-bit elements and not waste memory

to avoid confusing people with overly complex syntax, this should not be exposed in the type system. please remember to document accurately what size your function assumes its arguments will be.

Malcolm XML
Aug 8, 2009

I always knew it would end like this.
badlang has trigraphs

Soricidus
Oct 21, 2010
freedom-hating statist shill
to prevent arguments over tabs vs spaces, badlang forbids any leading whitespace.

to prevent arguments over naming conventions, programmers are not permitted to choose their own variable or function names. instead, the ide will choose them for you by using a neural net to analyse how they are used and pick a semantically appropriate name, such as “n” or “butts”

mystes
May 31, 2006

Tabs = 0. Spaces = 1. The choice of leading white space for each line is used as a parity bit for the rest of the line. This is an important feature for catching errors, so ides aren't allowed to automate it

mystes fucked around with this message at 01:55 on Jan 20, 2020

Bloody
Mar 3, 2013

Soricidus posted:

probably it should allow bit sizes to be configured per variable, so if you know an array will only ever hold numbers < 32, you can set it to use 5-bit elements and not waste memory

to avoid confusing people with overly complex syntax, this should not be exposed in the type system. please remember to document accurately what size your function assumes its arguments will be.

verilog works the same way

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

Suspicious Dish posted:

i feel like the ridiculous syntax is core to the cultural identity of annoying lispers

racket's trying to become a real language rather than a dumb toy for annoying lispers. naturally the annoying lispers are unhappy about this.

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

mystes posted:

A lot of software has different versions of their documentation online like that. Theoretically they could use a robots.txt file to hide all the old versions from google but then you wouldn't be able to search for anything that was removed/changed which would sort of defeat the purpose. I don't know if there's any way they can tell google to just prefer the new version, unfortunately.

rel=canonical lets you indicate that a different url with similar content should show up in the search results instead of this one, but google uses their advanced anti-spam ML techniques to usually just ignore it

Nomnom Cookie
Aug 30, 2009



Plorkyeran posted:

racket's trying to become a real language rather than a dumb toy for annoying lispers. naturally the annoying lispers are unhappy about this.

a language that tries to retain all the lispiness it can while being actually useful for making things, and not just stroking off about macros, sounds really cool

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

Plorkyeran posted:

racket's trying to become a real language rather than a dumb toy for annoying lispers. naturally the annoying lispers are unhappy about this.

tricking the masses into liking lisp isn't gonna happen tho. all you're doing is pissing off your only users, however terrible they are, and making searching for documentation impossible

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER


Suspicious Dish posted:

tricking the masses into liking lisp isn't gonna happen tho. all you're doing is pissing off your only users, however terrible they are, and making searching for documentation impossible

no ones being tricked, the bad is front loaded so the only person responsible for using bad language has only himself to blame

not unlike lisp in the real world

Athas
Aug 6, 2007

fuck that joker

Phobeste posted:

The number of bits in a byte is configurable. It defaults to nine for one parity bit. The automatic parity counting feature was disabled two major releases ago after a number of critical flaws were found in it and was disabled by default before that, but some system libraries unpredictably expect it to be a parity bit and break if it's not while some use all 9 bits for data. You can change this value in a compiler setting but if you do this the standard library won't compile since the person who wrote the library thought anything other than 9 was dumb

Is this inspired by APL, where the array indexing base (e.g. 0- or 1-indexed) is controlled by a global variable that can be set at any time, which libraries do and depend on?

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

Nomnom Cookie posted:

a language that tries to retain all the lispiness it can while being actually useful for making things, and not just stroking off about macros, sounds really cool

I’m suspicious

Pile Of Garbage
May 28, 2007



Soricidus posted:

to prevent arguments over tabs vs spaces, badlang forbids any leading whitespace.

to prevent arguments over naming conventions, programmers are not permitted to choose their own variable or function names. instead, the ide will choose them for you by using a neural net to analyse how they are used and pick a semantically appropriate name, such as “n” or “butts”

this logic is also applied to the default case sensitivity of string comparison operators.

also badlang might use CPS sometimes?

Internet Janitor
May 17, 2008

"That isn't the appropriate trash receptacle."

Athas posted:

Is this inspired by APL, where the array indexing base (e.g. 0- or 1-indexed) is controlled by a global variable that can be set at any time, which libraries do and depend on?

that's the downside of a language invented by a mathematician

of course, idiomatic APL is probably among the languages least likely to use libraries at all, so often this wart is moot

if you can read someone else's APL at all you're aware of this potential landmine

SAVE-LISP-AND-DIE
Nov 4, 2010

Nomnom Cookie posted:

a language that tries to retain all the lispiness it can while being actually useful for making things, and not just stroking off about macros, sounds really cool

It depends on your definition of Lispiness. Clojure tried this and the Lisp weenies refuse to use it because it doesn't implement cons cells, the literal function names car/cdr and it uses reader macros for useful datatstructures instead of reimplementing garbage a-lists and whatever the hell else who cares

prisoner of waffles
May 8, 2007

Ah! well a-day! what evil looks
Had I from old and young!
Instead of the cross, the fishmech
About my neck was hung.

SAVE-LISP-AND-DIE posted:

It depends on your definition of Lispiness. Clojure tried this and the Lisp weenies refuse to use it because it doesn't implement cons cells, the literal function names car/cdr and it uses reader macros for useful datatstructures instead of reimplementing garbage a-lists and whatever the hell else who cares

username post combo

Pile Of Garbage posted:

this logic is also applied to the default case sensitivity of string comparison operators.

also badlang might use CPS sometimes?

it absolutely needs call/cc and also setjmp long jump

Vomik
Jul 29, 2003

This post is dedicated to the brave Mujahideen fighters of Afghanistan

Pile Of Garbage posted:

this logic is also applied to the default case sensitivity of string comparison operators.

also badlang might use CPS sometimes?

using badlang will immediately notify CPS to remove your children from your home

Phobeste
Apr 9, 2006

never, like, count out Touchdown Tom, man
It has TCO but with really strict rules around when it can occur that aren't just "tail call" (like maybe having more than some number of arguments?) and the tutorial has some examples of recursive search patterns that do not meet these requirements. Also the requirement is a tunable

MononcQc
May 29, 2007

Until it is mature enough, Badlang is implemented in INTERCAL and so patching it requires using features such as:

- DO FORGET to drop expressions from the call-stack
- COME FROM, as an improvement over GO TO
- PLEASE instructions that must be put in the program in the right amounts; not enough and you're not polite enough to run it, and too many also rejects the program for sniveling

Cybernetic Vermin
Apr 18, 2005

Internet Janitor posted:

that's the downside of a language invented by a mathematician

of course, idiomatic APL is probably among the languages least likely to use libraries at all, so often this wart is moot

if you can read someone else's APL at all you're aware of this potential landmine

on another subject matter entirely: since you bothered to implement it at one point, do you know a reasonably idiomatic use of the odometer operator (in k and presumably others)? e.g.

!4 2 3

yields

0 0 0 0 0 0 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3
0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1
0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2

(so !2 2 2 2 2 gives all 5-bit numbers as bit vectors)

(i got to thinking about this since i was thinking that really !list should be an abbreviation of !#list to make keysets behave the same for maps and lists, which is the usual tiny mind consistency hobgoblin, but lead me to wonder why odometer gets such a simple shorthand when it is trivial to implement in terms of \: as well)

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

Internet Janitor posted:

that's the downside of a language invented by a mathematician

of course, idiomatic APL is probably among the languages least likely to use libraries at all, so often this wart is moot

if you can read someone else's APL at all you're aware of this potential landmine

"potential landmine" might be underselling a literal off-by-one error generator

Adbot
ADBOT LOVES YOU

Pile Of Garbage
May 28, 2007



Vomik posted:

using badlang will immediately notify CPS to remove your children from your home

it's package specific, interpreter specific and package specific. one day you'll do a casual import and BAM sorry your kids are in witness protection.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply