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
UncleBlazer
Jan 27, 2011

I always had a soft spot for arrows. Maybe AFRP will make them relevant again because they don't seem to fit a hole otherwise.

Adbot
ADBOT LOVES YOU

suffix
Jul 27, 2013

Wheeee!

fart simpson posted:

i like that literally the entire documentation for the type Kleisli m a b is "Kleisli arrows of a monad." and "Beware that for many monads (those for which the >>= operation is strict) this instance will not satisfy the right-tightening law required by the ArrowLoop class."

here you go i made a bookmarklet to improve haskell docs

code:
javascript:[].forEach.call(document.querySelectorAll('.doc p:last-of-type'),function(n){n.innerHTML+=' The implications of this should be obvious.';})

abraham linksys
Sep 6, 2010

:darksouls:
:vince:

Bloody
Mar 3, 2013

suffix posted:

here you go i made a bookmarklet to improve haskell docs

code:

javascript:[].forEach.call(document.querySelectorAll('.doc p:last-of-type'),function(n){n.innerHTML+=' The implications of this should be obvious.';})

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

suffix posted:

here you go i made a bookmarklet to improve haskell docs

code:
javascript:[].forEach.call(document.querySelectorAll('.doc p:last-of-type'),function(n){n.innerHTML+=' The implications of this should be obvious.';})

lol

VikingofRock
Aug 24, 2008




suffix posted:

here you go i made a bookmarklet to improve haskell docs

code:

javascript:[].forEach.call(document.querySelectorAll('.doc p:last-of-type'),function(n){n.innerHTML+=' The implications of this should be obvious.';})

triple sulk
Sep 17, 2014



suffix posted:

here you go i made a bookmarklet to improve haskell docs

code:
javascript:[].forEach.call(document.querySelectorAll('.doc p:last-of-type'),function(n){n.innerHTML+=' The implications of this should be obvious.';})

tef
May 30, 2004

-> some l-system crap ->
go question, so, https://blog.golang.org/go15gc, and https://docs.google.com/document/d/1At2Ls5_fhJQ59kDK2DFVhFu3g5mATSXqqV5QrxinasI/edit

my reading of this is that go < 1.5 had a stop the world gc + by default would only use one core, where is all the lol web scale

Max Facetime
Apr 18, 2009


:vince: hahaha holy lol :magical:

tef posted:

my reading of this is that go < 1.5 had a stop the world gc + by default would only use one core, where is all the lol web scale

"Correctness. There is one non-performance concern. Increased parallelism could make bugs in racy programs more likely to cause crashes or other problems. The setting of GOMAXPROCS=1 may have thus far let those bugs go undetected."

oh, you're thinking about adding parallelism, and you're thinking you only have one concern :allears:



... pay mind to the fact that the go scheduler has so far enforced strictly sequential executions...
... which is equivalent to locking the whole memory heap until your go-routine blocks or yields or gets pre-empted...

so in reality all of those "racy" programs have actually been correctly synchronized and not racing their reads/writes at all

but they soon will be!

brap
Aug 23, 2004

Grimey Drawer
go is so loving terrible

triple sulk
Sep 17, 2014



oops nvm, link was hosed up

Soricidus
Oct 21, 2010
freedom-hating statist shill

tef posted:

go question, so, https://blog.golang.org/go15gc, and https://docs.google.com/document/d/1At2Ls5_fhJQ59kDK2DFVhFu3g5mATSXqqV5QrxinasI/edit

my reading of this is that go < 1.5 had a stop the world gc + by default would only use one core, where is all the lol web scale

lmfao

"go makes concurrent programming really easy" -- thousands of early adopters who were under the impression they were doing concurrent programming

MononcQc
May 29, 2007

concurrency =/= parallelism. Go was perfectly concurrent while running on single cores, it just didn't spread the load across them.

Soricidus
Oct 21, 2010
freedom-hating statist shill
welp that's me exposed as an imposter

sarehu
Apr 20, 2007

(call/cc call/cc)

tef posted:

my reading of this is that go < 1.5 had a stop the world gc + by default would only use one core, where is all the lol web scale

Not everything needs to be as bare-metal as Javascript.

Max Facetime
Apr 18, 2009

"ReadTrace must be called from one goroutine at a time. "

:allears:

"Finalizers are run in dependency order: if A points at B, both have finalizers, and they are otherwise unreachable, only the finalizer for A runs; once A is freed, the finalizer for B can run. If a cyclic structure includes a block with a finalizer, that cycle is not guaranteed to be garbage collected and the finalizer is not guaranteed to run, because there is no ordering that respects the dependencies. " :sterv:

tef
May 30, 2004

-> some l-system crap ->

sarehu posted:

Not everything needs to be as bare-metal as Javascript.

true

i'm kinda glad 1.5 got it's act together but tbh the complaints i heard about go make a lot more sense if the gc was rubbish

i was told by a go engineer "but every real go program sets maxprocs" heh

tef
May 30, 2004

-> some l-system crap ->
we've fixed the foot guns in c, we've added hashes, lists, and got rid of include files and make files too

oh we've put some extra things to trip you up with a massive shared heap and a gently caress ton of concurrency

fritz
Jul 26, 2003

tef
May 30, 2004

-> some l-system crap ->

Max Facetime posted:

so in reality all of those "racy" programs have actually been correctly synchronized and not racing their reads/writes at all

but they soon will be!


maybe go programs will run long enough to encounter memory fragmentation :unsmith:

MononcQc
May 29, 2007

some preprocessing tool will fix it

JawnV6
Jul 4, 2004

So hot ...

MononcQc posted:

some preprocessing tool will fix it

If you have four features required of a preprocessor, you'll get a 4-pass preprocessor.

MononcQc
May 29, 2007

JawnV6 posted:

If you have four features required of a preprocessor, you'll get a 4-pass preprocessor.
preprocessing and source rewriting is the bread and butter of go

generics as a preprocessor
trait/pattern match preprocessor
an interactive debugger that recompiles all files with debug statements added on every line of source and has you load that in prod
code coverage

b0lt
Apr 29, 2005

JawnV6 posted:

If you have four features required of a preprocessor, you'll get a 4-pass preprocessor.

that's not true, go implemented the ability to emit a dollar sign in go generate without adding a pass

although someone should submit a feature request to add a pass to convert \$ to $DOLLAR

Bloody
Mar 3, 2013

MononcQc posted:

preprocessing and source rewriting is the bread and butter of go

generics as a preprocessor
trait/pattern match preprocessor
an interactive debugger that recompiles all files with debug statements added on every line of source and has you load that in prod
code coverage

holy poo poo lmao

tef
May 30, 2004

-> some l-system crap ->
https://ipfs.io/ipfs/QmNhFJjGcMPqpuYfxL62VVB9528NXqDNMFXiqN5bgFYiZ1/its-time-for-the-permanent-web.html

it's time for an open, permanent, distributed web:

- anyone can upload anything
- it's magically replicated elsewhere

- there is no delete
- it will be full of pornography and spam or abandoned or both

Triglav
Jun 2, 2007

IT IS HARAAM TO SEND SMILEY FACES THROUGH THE INTERNET
i hope all the urls look as good as that one

tef
May 30, 2004

-> some l-system crap ->
you can't have state server side. you can't have cookies. you can't have comments. if you could have comments you could never delete them.

oh but you can have names. you can use dns, which won't stick around so all your permanent links will break. you can use a block chain instead. you know, just keep a record of every name ever and then burn cpu time if you want to register another one. good luck with that.

on blockchains,

the blockchain isn't the magic behind bitcoin, it's the pure strain gold. we've had freenet, we've had gnu-net, we've had mojonation, we've had diaspora, no one gives a gently caress about your distributed web unless it can keep their money save from roaming fema agents

Triglav
Jun 2, 2007

IT IS HARAAM TO SEND SMILEY FACES THROUGH THE INTERNET
yeah it sounds like freenet or i2p minus the freedom of speech bend

it still has to exist as a superset of the existing internet. it still has hardware and energy costs. is the plan for everyone to store a redundant packet of gangnam style in a swarm?

like maybe you can make a completely .txt internet or something with a light footprint, but if nothing can be deleted, that means nothing can be removed, or nothing can be edited. it's a read-only network you can push files to

idk i dont get it

fritz
Jul 26, 2003

MononcQc posted:

an interactive debugger that recompiles all files with debug statements added on every line of source and has you load that in prod

what the gently caress

raminasi
Jan 25, 2005

a last drink with no ice
hold up was go shipped without an official debugger

wtf

b0lt
Apr 29, 2005

GrumpyDoctor posted:

hold up was go shipped without an official debugger

wtf

gccgo "supported" gdb

gccgo is deprecated

every service at google is either deprecated or not ready yet

brap
Aug 23, 2004

Grimey Drawer
my favorite part is all the questions about this on stackoverflow etc "why doesn't go have a decent official debugger?" are met with "well I get by alright on print statements lol :derp:"

b0lt posted:

every service at google is either deprecated or not ready yet

pseudorandom name
May 6, 2007

does Ruby have a debugger?

sarehu
Apr 20, 2007

(call/cc call/cc)
Debuggers are for children.

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

UncleBlazer posted:

I always had a soft spot for arrows. Maybe AFRP will make them relevant again because they don't seem to fit a hole otherwise.

i like arrowized frp alright. i used it to implement a sort of lazy rendering path in elm, which is a strict language

my homie dhall
Dec 9, 2010

honey, oh please, it's just a machine

fritz posted:

what the gently caress

quote:

godebug rewrites your source code and injects function calls like godebug.Line on every line, godebug.Declare at every variable declaration, and godebug.SetTrace for breakpoints (i.e. wherever you type _ = "breakpoint").

I find this solution brilliant.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

b0lt posted:

every service at google is either deprecated or not ready yet

google is the worst

Shaggar
Apr 26, 2006

pseudorandom name posted:

does Ruby have a debugger?

who cares? go and ruby are both garbage that nobody should use

Adbot
ADBOT LOVES YOU

CPColin
Sep 9, 2003

Big ol' smile.
Every now and then, I notice "Since 1.1" in the Java API documentation and try to imagine what Java 1.0 was like and why anybody wanted to use it.

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