[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y ] [Search | Free Show | Home]

/dpt/ - Daily Programming Thread

This is a blue board which means that it's for everybody (Safe For Work content only). If you see any adult content, please report it.

Thread replies: 322
Thread images: 31

File: SICM.jpg (36KB, 400x611px) Image search: [Google]
SICM.jpg
36KB, 400x611px
What are you working on, /g/?
>>61750708
>>
Quit your job and make an indie game
>>
>>61755076
how am I supposed to eat, drink and buy fancy clothes without a job tho
>>
>>61755076
actually really want to do this but I need to survive desu
>>
File: 1374574265407.png (605KB, 1000x838px) Image search: [Google]
1374574265407.png
605KB, 1000x838px
>>61755068
Please post an anime image next time.
>>
>>61755095
It'll be worth it in the end, didn't you see the Indie Game movie?

Or you can suck my cock for money
>>
>tfw 300k in school debt

i wish i was black so i could have gotten it free
>>
>>61755099
just make a game people want to play
problem solved friendo
>>
>>61755113
How is that possible?
>>
>>61755123
http://admissions.nd.edu/discover/cost-financial-aid/
>>
>>61755113
What happens to an American who doesn't pay his school debt?
>>
>>61754994
He wrote Mongrel, the Hard Way tutorials, Rails is a Ghetto and the Programming Motherfucker. Dude's the baddest motherfucker in the scene bad enough to diss K&R's faggot C strings.
>>
>>61755140
C strings actually suck though, they're a cute hack for shitty systems that was taken too far.
>>
>>61755113
Can't you just file for bankruptcy, basically getting the education for free?
>>
>>61755113
get a phD in math.

it's 300k starting.
>>
>>61755113
Why? Aren't whites are superior? The superior race should have no problem with it because they work
>>
>>61755172
they pass laws so it stays with you
i think fleeing to another country is the only way
>>
>>61755068

I like haskell, it makes me feel sexual things.

> tfw you can copy directly from your number theory textbook into your code editor

golomb :: Integer -> Integer
golomb n | n == 1 = 1 -- a(1) = 1 by definition
golomb n = 1 + (golomb (n - (golomb (golomb (n - 1) ) ) ) )
>>
why is there still not a strict description of rust's semantics or memory model? is this the power of the sjw language?
>>
File: code.png (171KB, 1600x757px) Image search: [Google]
code.png
171KB, 1600x757px
>>61755076
What do you think I'm doing?

>>61755172
Student loans are special albatrosses. You cannot get out of them from bankruptcy. It's known that almost everyone who takes student loans will go bankrupt so it's baked into the system that you can't shake them off through bankruptcy.
>>
>>61755113
>300k
How the fuck is that even possible? Just how expensive is education for burgercucks?
I left university with $14K (about $10K USD) on my student loan. Granted I didn't put any sort of living costs onto my student loan, and I did have some scholarships.
>>
Give me one reason I should feel bad that Haskell doesn't have dependent types
>>
>>61755199
A Rust program's memory consists of a static set of items and a heap. Immutable portions of the heap may be safely shared between threads, mutable portions may not be safely shared, but several mechanisms for effectively-safe sharing of mutable values, built on unsafe code but enforcing a safe locking discipline, exist in the standard library.

Allocations in the stack consist of variables, and allocations in the heap consist of boxes.
The items of a program are those functions, modules and types that have their value calculated at compile-time and stored uniquely in the memory image of the rust process. Items are neither dynamically allocated nor freed.

The heap is a general term that describes boxes. The lifetime of an allocation in the heap depends on the lifetime of the box values pointing to it. Since box values may themselves be passed in and out of frames, or stored in the heap, heap allocations may outlive the frame they are allocated within. An allocation in the heap is guaranteed to reside at a single location in the heap for the whole lifetime of the allocation - it will never be relocated as a result of moving a box value. When a stack frame is exited, its local allocations are all released, and its references to boxes are dropped.
>>
Can a C beginner read "Structure and interpretation of computer programs" ? It looks quite interesting.
>>
>>61755195
>I like haskell
same desu. Which textbook? niven/zuckerman/montgomery was a letdown
>>
>>61755214
A variable is a component of a stack frame, either a named function parameter, an anonymous temporary, or a named local variable.

A local variable (or stack-local allocation) holds a value directly, allocated within the stack's memory. The value is a part of the stack frame.

Local variables are immutable unless declared otherwise. For example: let mut x = ....

Function parameters are immutable unless declared with mut. The mut keyword applies only to the following parameter. For example: |mut x, y| and fn f(mut x: Box<i32>, y: Box<i32>) declare one mutable variable x and one immutable variable y.

Methods that take either self or Box<Self> can optionally place them in a mutable variable by prefixing them with mut (similar to regular arguments). For example:

trait Changer: Sized {
fn change(mut self) {}
fn modify(mut self: Box<Self>) {}
}


Local variables are not initialized when allocated. Instead, the entire frame worth of local variables are allocated, on frame-entry, in an uninitialized state. Subsequent statements within a function may or may not initialize the local variables. Local variables can be used only after they have been initialized; this is enforced by the compiler.
>>
>>61755213
You shoud feel good, now you can win arguments on /g/ against Haskell programmers simply by uttering the word "Agda"

>>61755231
>>61755214
I don't think he was asking you to explain it, he's looking for an official model of Rust's semantics that is supported by the compiler etc.
>>
>>61755214
not even scratching the surface of what a description of a memory model should be
>>
>>61755223
yes. it's for complete beginners
>>
>>61755137
>>61755172

no, its basically impossible to bankrupt on student loans unless you literally get terminal cancer or something AND your cosigner dies prior to them coming after them. your bankruptsy claim will get turned down and then youll be even more in the hole than you already were (court fees are expensive)

if you don't pay your student loans theyll come after your cosigner (normally your parents) and then start taking the money directly from yours and the cosigners paycheck (garnishing wages). student loans are attached to the government so they can literally sue you and you cant really recover from that. your credit score is gone, your social security number is basically tied to a dead man who will never be able to get a loan for a house, car, etc as long as you live

generally speaking though, if they go through your (and your cosigners) income and see you literally cant ever pay it off they're normally very willing to extend your loan period to hilariously long periods. i have a friend that went to the university of michigan and then paralyzed himself after jumping from a boat into a shallow lake. he took his loans through a credit union and they currently have him on a 78 year repayment plan since he can't work any reasonable job
>>
>>61755210
It's really really fucking expensive. Really, really fucking expensive.

I'm going to a state school and my tuition is 17k a year. Out of state tuition easily go to 45k a year. Thank god I got a full ride.

I feel really bad for brainlets. It's not right how much money school costs. College here is a total scam and combined with student loans a modern form of slavery desu.
>>
>>61755250
>>61755253
https://github.com/nikomatsakis/rust-memory-model
>>
how do I git gud on C? I thought about buying C Programming: A Modern Approach but that shit's expensive and the scans I found are shit
>>
>>61755273
>A crucial part (but not the only part) of these guidelines is a "memory model" that tries to define what kind of aliasing and accesses unsafe code can perform (this in turn implies limitations on the transformations and optimizations the compiler can do). We're still in the 'data gathering' stage of this effort
>We're still in the 'data gathering' stage of this effort
you're really making me think here
>>
>>61755195
get rid of the guard, replace first line with second
golomb n | n == 1 = 1
golomb 1 = 1

also fix your parens
>inb4 reformed lispfag
>>
We conjure the spirits of the computer with our spells
>>
>>61755296
Rust just had an RFC to basically change completely how lifetimes work. Rust is going to forever be in development stage, which means they don't need to formalize anything because it's all subject to change
>>
>>61755311
Source? And what are the chances that it'll get adopted?
>>
>>61755263
Awesome! Thanks!
>>
>>61755311
wow, that's great. just what a language that brags about its "safeness" needs
>>
>>61755296
What are you thinking?
>>
>>61755210
>How the fuck is that even possible? Just how expensive is education for burgercucks?

Depends on where you to go school. Some schools can easily be 30k+ a year not counting housing, especially since most schools will jack up the price for out of state tuition. Factor in housing and other costs? 50k+ is easily possible.

The cheapest you can probably go is close to 10k a year.
>>
>>61755328
https://github.com/rust-lang/rfcs/pull/2094

Not sure what the chances are, but this PR is written by the same person as >>61755273 which means they are probably a huge Rust contributor.
>>
>>61755338
why is there still not a strict description of rust's semantics or memory model, let alone an official one?
>>
>>61755335
Hard book though. Prepare to get the wind knocked out of you. Part of the reason it's so popular on /g/ is because it's so fuckin' hard that completing it gives you the right be a smug weenie. Remember that it was used for a weedout class at MIT.
>>
>>61755195
You don't need the guard in the first clause: just write 'golomb 1 = 1'. And there are too many parentheses, consider using '$'.
>>
>>61755351
>https://github.com/rust-lang/rfcs/pull/2094
That's actually pretty nice. I also think they are not going to break backwards compat

>>61755357
The link I gave should explain the most of it,
>>
>>61755335
HtDP is for beginners, try it
den sicp
>>
>>61755272
Damn that's fucking brutal

And what a young man supposed to do? Land a job out of college to pay this shit?
>>
>>61755375
>I also think they are not going to break backwards compat
Sure but this would require different models and proofs for the soundness of the type system
>>
2bh they should come up with nice syntax sugars. like String construction in one line etc
>>
>>61755311
>safe language
>permanently "in development"
>no formal standards
>core changes to fundamental language concepts
Jesus.
>>
>>61755224

The chapters of "Concrete Mathematics" about recurrences and number theory
>>
>>61755375
>We're still in the 'data gathering' stage of this effort
no. it's unbelievable that a language that claims to be groundbreakingly safe hasn't sorted this out yet
>>
>>61755401
Most languages are permanently in development
>>
>>61755406
>that claims to be groundbreakingly safe
I don't know about that. Rust is only 2 years old so it certainly doesn't have a mature ecosystem like C, which is like 23 times older than Rust
>>
>>61755376
>>61755360
Sounds like a better plan to read HtDP before SiCp. I shouldn't bite more than I can chew. Thanks for the tips, anons.
>>
Why not web development with C++?
OKcupid is written in C++ too.
>>
>>61755433
C++ is a substandard language that's why
>>
>>61755417
https://www.rust-lang.org/en-US/
it says right on their homepage "guaranteed memory safety" (which is a ridiculous statement anyway)
one of the main goals of rust from the start was that it was supposed to be super safe
>>
>>61755433
Productivity is critical in webdev afaik. So massive redflag for C++, unless you have hundreds of drones working for you
>>
>>61755449
It kinda is safer in comparison
>>
>>61755433
http://cppcms.com/
https://www.webtoolkit.eu/wt
https://learnbchs.org/ (C thou)

Try them, then report back to us
>>
>>61755449
>matching over iterator
hmm, new trick learned. Thanks anon.
>>
>>61755388
If you're in the know you can go to community college for the first two years and transfer to a real college. It almost cuts student loans in half since community colleges are actually affordable (~$700 a semester) but looked down upon and a lot of people don't properly consider them as options. They never really talked about community colleges as options at my school and community colleges advertise themselves to adults, not high schoolers. Most of the people at community colleges are adults too.

Technical schools are also way, way cheaper but you'll be looked down upon for being a construction foreman or a welder.

If you have student loans, you have to land a job out of college. If you don't they'll ruin your parent's lives too as they'll start tithe-and-a-half-ing your parents for 15%. I think suicide doesn't liberate your parents of the obligation either so you can't be Japanese about the issue.
>>
File: chinaman.jpg (34KB, 480x360px) Image search: [Google]
chinaman.jpg
34KB, 480x360px
>my other car is a cdr
>>
>>61755158

All a c string is is an array of bytes with one byte reserved as the "end of array" byte.

> DUDE having a block of memory with a 1 byte "end" code is a cute hack C should have overloaded operators for strings LMAO

You must have no idea what a computer even is, like a lowly negro ignorantly swinging on a vine through the jungles of Africa.
>>
File: DFKrCrhV_400x400.jpg (10KB, 225x225px) Image search: [Google]
DFKrCrhV_400x400.jpg
10KB, 225x225px
>>61755503

> Lost In Stupid Parentheses
>>
>>61755503
my other car is a cadr. cdr isn't a car at all.
>>
File: 1465826643844s.jpg (11KB, 250x241px) Image search: [Google]
1465826643844s.jpg
11KB, 250x241px
>>61755520
>You must have no idea what a computer even is, like a lowly negro ignorantly swinging on a vine through the jungles of Africa.
Amazing
>>
Reminder that the reason ADTs are better than classes is because the whole idea of a class or other kind of opaque data type is that you are coming up with a new type from scratch to store instances of your concept which is a huge waste of effort when you have ADTs which let you say that if you had a dedicated type to store instances of your concept then that type would just be an instance of some existing kind because the kinds and the way they interact cover all bases because that is the true nature of what it means to have an expressive type system
>>
>>61755520
>You must have no idea what a computer even is, like a lowly negro ignorantly swinging on a vine through the jungles of Africa.
There is nothing lowly or ignorant about swinging on vines
>>
eli5 why


this.value = this.value++



is not the same as


this.value = this.value + 1

>>
File: 1fds.jpg (903KB, 4640x3480px) Image search: [Google]
1fds.jpg
903KB, 4640x3480px
>>61755593
delete this
>>
>>61755593
>eli5
>>>/r/eddit
>>
>>61755593
this.value = 1;
printf("%d", this.value + 1); // 1
printf("%d", this.value); // 2

this.value = 1;
printf("%d", thisvalue + 1); 2
>>
>>61755593
Is this JavaScript? Also, wouldn't it suffice to just write

 this.value++ 
>>
>>61755593
Just use Python instead, anon. Save yourself the trouble.
>>
>>61755624

this.value = 1;
printf("%d", this.value++); // 1
printf("%d", this.value); // 2

this.value = 1;
printf("%d", thisvalue + 1); 2


I fucked the code up.
>>
>>61755593
>this.
>this
>.
opinion discarded
>>
>>61755647
>discarded
stopped reading there
>>
>>61755657
>there

i will read no further
>>
File: dvlw664.png (293KB, 796x417px) Image search: [Google]
dvlw664.png
293KB, 796x417px
>>61755575
Your revolution is over, Mr. Church. Condolences. The FPers lost. My advice is to do what your parents did; learn java, sir.
>>
File: index.jpg (10KB, 225x224px) Image search: [Google]
index.jpg
10KB, 225x224px
>>61755664
>>
File: 1487620202295.png (152KB, 1948x858px) Image search: [Google]
1487620202295.png
152KB, 1948x858px
>this
>>
File: 1501987668353.png (105KB, 901x520px) Image search: [Google]
1501987668353.png
105KB, 901x520px
>>61755681
>>
>>61755674
except now I'm realizing that ADTs can be implemented in OOPs so now I am not so proud of my clever post, and am feeling quite the fool
>>
>>61755113
lol you misinformed prick. Affirmative action doesn't give minorities free school, it gives them higher acceptance rate so they can drop out and have more debt.
>>
>>61755768
but most of them graduate ?
>>
>>61755768
But anon, they get swayed by token scholarships so they think they're getting something when in reality they aren't. It makes Mephistopheles seem kind.

The fact is that anon was going to college anyway, so it would have been better for him to be black. A black man in his state is still fucked, but less so than anon, even if only slightly less.
>>
I identify as asian/anime
>>
>>61755829
https://www.mcgill.ca/mentalhealth/appointments
>>
>>61755206
>What do you think I'm doing?
posting on /dpt/
>>
http://www.lix.polytechnique.fr/~dale/lolli/
>loli programming language is real
>>
>>61755210
average cost of 4 years of college is 100k USD
>>
>>61755712
that's what makes it
ENTERPRISE SOFTWARE
buy it goyim
>>
>>61755113
>land of the free
>>
>>61755195
That's fun and all, but please remember efficiency matters. Maybe not right now, but learn to write good Haskell because most abstractions don't come for free.
>>
is there a C linkage cheat sheet? I want to know what kind of stuff can be accessed from different files after the linkage process.

eg.
enums disappear in the linkage, you can't use enums from different source files.
you can use functions from different source files if their prototypes are declared and they aren't static.
>>
>>61755068
/dpt/, what is the most readable language specification and why is it R5RS?
>>
File: 1.png (18KB, 620x473px) Image search: [Google]
1.png
18KB, 620x473px
/newb/ here, why the fuck pic related doesn't work?

It compiles & run, it just won't print out anything
>>
>>61756298
Is it not even printing the "Search for: \n" ?
If so your compiler is haunted.
>>
>>61756327
i tried with every compiler except intel's one....

w/e... I can't be bothered to debug shit since i'm tired as fuck.Should have expected this from a shitty head first book
>>
>>61756298
>>61756381
fgets doesn't strip newlines from the input. If you're typing "are" and hitting return, you're searching for "are\n" in your strings array.
>>
>>61756263
static is internal linkage, lack-of is external.
It's as simple as that, excluding some of the weirdness that non-static inline functions have.
>enums disappear in the linkage
enums don't produce an actual symbol that needs to be linked. They exist purely in the language.
You can only link functions and global variables.
>>
>>61756453
>enums don't produce an actual symbol that needs to be linked. They exist purely in the language.
so the same happens with typedefs, structs and unions?
>>
>>61756485
Yes.
>>
>>61756298
based on what >>61756407 said, this should work
https://repl.it/JycE/0
>>
>>61756407
so should i use scanf or what?Sorry for the dumb question i just don't see it.

I should probably go to sleep lol
>>
>>61756570
thanks
>>
>>61756597
Add \n to the end of "traps are gay" and "pls work"
>>
>>61756597
Assuming you have a debugger, look at searchable before the call to findstr to see if it has a '\n' on the end. If it turns out that that's the case, add a test for the last character of searchable, replacing '\n' with 0. Then your call to findstr should find strings when you enter ones that are in the strings variable.
>>
>>61755210
It really is bad, but 300k is either taking 6+ years for bachelors or adding grad/law/med school.
>>
>>61755418
desu I take issue with HtDP's emphasis on the "design recipe," but the ideas associated with it are worth learning without constraining yourself to a rigid pre-built system.
>>
Can someone explain dynamic-wind to a brainlet?

I've never seen it used in actual code but I hear people mention it.
>>
friendly reminder that dependent types will win
>>
>>61756868
Do you understand call/cc?
>>
>>61756958
does anyone?
>>
me again..
#!/bin/bash
file=animals.txt
total=$(wc -l < $file)
words=$(sort --unique < $file)

for word in $words; do
count=$(cat $file | grep -c "$word")
percent=$(bc <<< "scale=2; $count / $total;" | cut -d. -f2)
oftotal=$((($percent * 10000)/100))
echo "$word $oftotal"
done


horse
zebra
fish
dog
fox
cat
horse
mouse
rat
bat
mouse


What I want is the percentage each of those occur of 200, [printed next to each item once. instead i get.. "value too great for base, error code 09".. now I realise this only occurs when it goes above 8 unique items, suggesting it has something to do with oct numbers, but I don't know how to resolve it. can someone point me in correct direction?
>>
Is it possible to put a constructor function for a struct in itself? I'm trying to make a heap, and I'm wondering if it's possible to have the constructor and destructor functions be stored as function pointers in the heap, or if I have to keep these functions outside the heap.

typedef enum heap_type {
HEAP_CHAR,
HEAP_INT,
HEAP_LONG,
HEAP_FLOAT,
HEAP_DOUBLE,
HEAP_POINTER
} heap_type;

typedef struct heap {
heap_type type;
} heap;

heap *heap_init(heap_type t) {
heap *h = malloc(sizeof(heap));
h->type = t;
return h;
}

void heap_free(heap *h) {
free(h);
}


Would it be possible to have functions like
typedef struct heap {
heap_type type;
struct heap *(*init)();
void (*deinit)();
} heap;
?

I would imagine that C++ (or C-with-classes that was used to create C++) does this to implement objects, but I don't know how. And if I did implement those functions, is it even possible to call the init and deinit functions?
>>
>>61756970
It's basically just first class, functional "goto"

Think of a continuation as some expression, except for one term is replaced by a hole [ ].
(+ 1 2 [ ] 4)


An expression is evaluated in steps, using a series of continuations and subtitutions. For instance
(+ (* 2 3) (* 4 5))
; becomes
(+ [ ] (* 4 5)) where [ ] = (* 2 3)
; becomes
(+ [ ] (* 4 5)) where [ ] = 6
; becomes
(+ 6 (* 4 5))
; becomes
(+ 6 [ ]) where [ ] = (* 4 5)
; becomes
(+ 6 [ ]) where [ ] = 20
; becomes
(+ 6 20)
; becomes
26


Call/cc and friends lets you represent an unfinished continuation as a value, e.g.
k = the continuation (+ 1 2 [ ] 4)


When you call the continuation 'k', it essentially inserts your argument into the hole.
(k 3) = (+ 1 2 3 4) = 10


Additionally, if you call a continuation it completely replaces whatever your current continuation is with the continuation you call
(* 2 (k 3) 8) = (+ 1 2 3 4) = 10


let/cc lets you grab whatever the current continuation is and turn it into a continuation value
(+ 1 (let/cc k <expr>) 3)
; becomes
<expr> where k = the continuation (+ 1 [ ] 2)


call/cc is like that but with a function
(call/cc f) = (let/cc k (f k))



Now, with this knowledge, it should be apparently that you can jump in and out of contexts at will in Scheme. The Racket documentation for dynamic-wind explains pretty well how it works
https://docs.racket-lang.org/reference/cont.html#%28def._%28%28quote._~23~25kernel%29._dynamic-wind%29%29
>>
>>61756958
Yeah, it passes the continuation about call/cc to the procedure inside call/cc.
(define jmp #f)
(+ (call/cc (lambda (k) (set! jmp k) (k 1) (error))) 1) ;===> 2
(jmp 2) ;===> 3


And a continuation is a procedure, representing what remains to be executed, of one argument, what has been executed. Invoking a continuation causes the lisp interpreter to drop what it's doing and continue at that continuation.
>>
>>61757081
Kek you wrote up that long response to a shitpost about call/cc being weird when it wasn't even me. Ahh anonymousness.

So if I understand the racket documentation, then dynamic wind basically defines behavior for entering a continuation and exiting a continuation. So you could use it to say, ensure that mutexes are always guarding data inside the body of the wind, or ensure that a stream is opened as you enter a body, and closed when you leave, even if people enter and exit.

Hmm playing around in the terminal this makes sense:
> (dynamic-wind (cut print "Going in!") error (cut print "Going out!"))
Going in!

Error

Call history:

<eval> (dynamic-wind (cut print "Going in!") error (cut print "Going out!"))
<eval> ((##core#begin print) "Going in!") <--
Going out!
> (begin (print "Going in!") (error) (print "Going out!"))
Going in!

Error

Call history:
<syntax> (##core#begin (print "Going out!"))
<syntax> (print "Going out!")
<eval> (print "Going in!")
<eval> (error) <--


Do you know how fluid-let differs from normal let?
>>
>>61757257
Haven't heard of fluid-let, but it seems to have really weird behavior. For one, it doesn't introduce new variables, instead it temporarily overwrites existing variables. Seems like parameterize, but for any variable instead of just parameters.
>>
>>61757358
> (define foo error)
> (define (bar) (foo))
> (bar)

Error

Call history:

<syntax> (bar)
<eval> (bar)
<eval> [bar] (foo) <--
> (fluid-let ((foo (lambda (x) (print "We're okay!")))) (bar))
We're okay!
> (bar)

Error

Call history:

<syntax> (bar)
<eval> (bar)
<eval> [bar] (foo) <--

It appears to be a temporary set! happens when you enter the dynamic extent of its body and reverses once you exit the dynamic extant of its body.

In effect it mimics dynamically scoped variables.
>>
>>61757404
>In effect it mimics dynamically scoped variables.
Right. Parameters are probably more suitable if you want dynamic variables. Especially in Racket (which doesn't support fluid-let in the main language, and uses parameters heavily), but not sure about chicken.

I honestly don't understand why more languages haven't picked up parameters, I think they're really amazing and incredibly useful. They're one of those features that you don't realize are useful until you know that they exist
>>
>>61757438
A parameter is just a macro that expands from:
>(define-parameter x 1)

to
>(define x (let ((val 1)) (lambda args (if (null? args) val (set! val (car args)))))
>(x) ;=> 1
>(x 2) ;=> (implementation defined)
>(x) ;=> 2

Right?
>>
>>61757486
That's a naive implementation of parameters, but there's also
(define p (make-parameter 0))
(parameterize ((p 1))
(displayln (p)) ; -> 1
(displayln (p)) ; -> 0

(thread (λ () (sleep 1) (displayln (p))))
(p 3)
; ... 1 second later ...
; -> 0
>>
>>61757519
So each thread has its own copy of a parameter? Weird.
>>
>>61755076
NEET advice there bud
>>
Why is Javascript so degenerate? Why is it being popularized as backend?
>>
>>61757531
Yeah, ideally we want
(parameterize ((param val))
...)

to mean that param definitely equals val for the duration of the block

>>61757557
>Why is it being popularized as backend?
Dumb devs don't want to learn a new language. It sounds appealing because it gives the impression that you could share code amongst the client and the server but that doesn't actually happen in the majority of cases
>>
>>61757565
So it's basically fluid-let for parameters?
>>
What's a good book/guide for learning Java as a beginner?
>>
File: 1448224569485.png (315KB, 982x1400px) Image search: [Google]
1448224569485.png
315KB, 982x1400px
>>61753750
Because all Haskal is good for is useless write-only 1-liner for these kind of fizzbuzz shits
erastosthen n = take n eras where {eras = sieve [2..]; sieve (x:xs) = x:(sieve $ filter ((/= 0) . (`mod` x)) xs)}
>>
>>61757816

Horstmann's book.

>2017
>Learning (((Java)))
>>
>>61756260
Not him but wrote a better version. In this case the abstraction is basically free. This is memoized and runs instantly
golomb = (map calc [0..] !!)
where calc 1 = 1
calc n = (1+) . golomb $ (n-) . golomb $ golomb' $ n - 1
>>
>>61757881
Oops, I left an apostrophe from when I was comparing to the original result. Proper code is
golomb = (map calc [0..] !!)
where calc 1 = 1
calc n = (1+) . golomb $ (n-) . golomb $ golomb $ n - 1
>>
>>61757894
>doesn't work for golomb n where n > maxBound Int

please restrict your polymorphiv types
>>
>>61757908
Wait a minute, why did the type inferencer instantiate it to Int->Int again? Where did the Int come from, I thought for sure it should have been Num a=>a->a
>>
>>61757925
(!!)
>>
>>61757828
What's wrong with learning Java?
He doesn't seem to have a beginner book either.
>>
>>61757925
Well shit, never mind it. Must be the fucking !!.
And would it even memoized if you don't make a let node for map calc [0..]?
>>
>>61757908
The algorithm runs in linear time, so there's no point in trying numbers that large anyway.

>>61757925
Yeah, (!!) has Int in its type signature.

>>61757939
Yeah, golomb is assigned to a single expression which accesses a list which is part of that expression, so when I call golomb multiple times, it reuses the list inside the expression
>>
>>61755113
Maybe you shouldn't have been a faggot in high school and got a scholarship lmao.
>>
>>61757959
To be clear, it's because golomb doesn't depend on n, so it can reuse the expression golomb itself. If I switched it to
golomb n = (map calc [0..] !! n)

the memoization would break.
>>
Got a job writing Idris. Just kidding that would never happen. Got a job writing Haskell. OOPs got you again. You really are gullible aren't you?
>>
>>61758050
I got a job. Surprise, got you again.
>>
>>61757959
>>61758021
>partially application's sub-expressions can be memoized too
I always thought e.g.
golomb n = (map calc [0..] !! n)
and
golomb = map calc [0..] !!
are equivalent (aside from the possible fucking monomorphism restriction in some case of course. Who thought monomorphism restriction was a good idea again?). This is fascinating, but I think I'll still stick with giving the lazy data structure a name within the scope, since it literally always works and it's usually clearer that way.
>>
File: sql_python_logo.png (8KB, 300x232px) Image search: [Google]
sql_python_logo.png
8KB, 300x232px
I'm not really good at databases, but I need one for a project.
Should I use SQL? If so, what's the best way of handling that in Python?
>>
>>61758212
When in doubt, use Sqlite.
>>
>>61758212
sql is a language not a database. The database you need depends on your application. Since you're not really sure I'm almost certain you can get away with sqlite. I'm sure there's bindings for sqlite in python.
>>
>>61758224
>>61758238
Well, I was more asking about a library that I can use to abstract away the raw SQL from me, regardless of the actual SQL """database""" I use.
I don't really want to be stuck in database hell for a long time, which is why I don't really want to use raw SQL. Or is that a wrong way to go?
>>
>>61758260
Yes because SQL is easy as fuck. It's a very simple domain specific language.

So use the damn domain specific language rather than an abomination.
>>
File: exploits_of_a_mom.png (31KB, 666x205px) Image search: [Google]
exploits_of_a_mom.png
31KB, 666x205px
>>61758272
Alright, I guess I'm diving in.
Thanks.
>>
>>61758276
That only happens if you forget to pass user input data through a sanitize function. No different from accessing an out of bounds variable in an array. Both are bugs that hackers can exploit to ruin your day.
>>
File: 1496374509638.gif (302KB, 640x636px) Image search: [Google]
1496374509638.gif
302KB, 640x636px
>>61758276
Classic meme, 10/10 would kek again
>>
File: 1496371064002.png (58KB, 229x199px) Image search: [Google]
1496371064002.png
58KB, 229x199px
Is there a way I can simply blit a texture to the default framebuffer in OpenGL ES 2.0?
I simply want to take a texture I got from glTexImage2D and display it, and spinning up some shaders, VAOs, etc. at seems overkill for this.
>>
>>61755068
Going a bit above my head with modal logic but it's neat so far
>>
>>61758682
I'm not sure if it's a bad idea or not to suggest you ask this question in >>>/vg/agdg
>>
C is a Spartan language, and so should your naming be. Unlike Modula-2 and Pascal programmers, C programmers do not use cute names like ThisVariableIsATemporaryCounter. A C programmer would call that variable "tmp", which is much easier to write, and not the least more difficult to understand.
>>
>>61758773
is Haskell a Spartan language?
>>
>>61758783
no it's mathematicians language.
They cant't write software and use symbols like x,y,z,w for everything.
>>
>>61758791
>xyzw
>tmp
>>
>>61758815
There's difference between being sane and being mathematician.
>>
File: le pringles face.jpg (9KB, 240x210px) Image search: [Google]
le pringles face.jpg
9KB, 240x210px
Is Perl black magic? If I learn it will I become a wizard?
>>
>>61758952
>int i
>>
>>61759223
Yes, if you learn Perl you'll end up a 30 year old virgin
>>
>>61758155
Well, the thing is in Haskell (as with any programming language) there are ways to express equivalent computations which vary in performance.

So then to optimize performance it comes down to having an general understanding of how Haskell computes things - which can be a little more work in Haskell sometimes because your computations are so high level.

A good similar discussion is here: https://stackoverflow.com/a/12199639
>>
>>61759446
>tfw too intelligent for performance
>>
C was a mistake
ML was robbed
>>
>>61759770
robbed of what
>>
>>61759815
The influence and prestige enjoyed by the false and twisted thief C
>>
>>61759770
>C was a mistake
It's a religion now like Islam.
>>
>>61759853
How could ML gain the influence C did when ML is garbage collected, while C is a systems program? They are literally used in different areas. Anyway, Rust is a systems language that has influences from ML and has been around longer than some other newer languages, yet severely lacks the amount of users in comparison.
>>
>>61759873

Yeah, but strictly speaking, the creator of C wasn't a pedophile.
>>
>>61759897
>has influences from ML
You may or may not realize it, but a lot of mainstream languages have influences from ML.
>>
>>61759897
>yet severely lacks the amount of users in comparison
Because of the influence of C leading to iron clad adoption of C++ and OOPs
>>
>want to become a great programmer so I can work without having to go outside
>start learning basics
>realize how much of it is just tricking the user to thinking that software works
>continue being a NEET
>>
Reading LYAH and having fun.
>>
>>61760186
t. not OSGTP
>>
What are C++ unordered_map implementations like in mainstream STL libs?
Is it really faster olokup?
>>
>>61759914
Maybe, we don't know. His holy text did more damage in the world though.
>>
>>61758303
>That only happens if you forget to pass user input data through a sanitize function
Do you still live in the early 00's?
>>
File: IMG_0230.png (154KB, 2048x1536px) Image search: [Google]
IMG_0230.png
154KB, 2048x1536px
>want to start learning C++
>pick up free e-book from the iBooks catalog
>see this
>>
>>61760320
what's wrong with it? the using namespace std?
>>
>>61760186
Give up and learn java! Join the Real World!
>>
>>61760320
You deliberately went out of you way to find something by an Indian
>>
>>61760320
I skimmed Prata's "C++ primer" to understand the basics of C++ (I knew C, though). After that I used Stroustrup's book, cppreference.com and internet as a reference.
>>
>>61760356
No, but the area is doubled for some reason.

main() doesn't even have a valid declaration either, and no return value.

C90-style declarations as well
>>
>>61760262
Unordered map is usually implemented with a hash table. I find llvm's libc++ more readable than libstdc++.
https://github.com/llvm-mirror/libcxx/blob/master/include/unordered_map
>>
>>61760356
>not knowing how to calculate the area of a circle
You might want to re-take 7th grade.

>>61760365
I didn't. I just searched C++ on the iBooks catalog, downloaded a handful of the free ones, started reading that one and stopped at that page.
I'm guessing Indians prioritize programming ahead of basic math.
>>
>>61760365
Indians like OOP languages, it's nothing new
>>
>>61756991
Nigga, what you want is learning a full blown language. Script shit is not made for these
>>
>>61760386
The area is wrong because the area of a circle is πr^2, not 4π^2.
>>
>>61760320
Holy shit, how did this get greenlit?
>>
>>61760403
English also seems like a low priority for them.
>>
File: walk_away.gif (220KB, 500x375px) Image search: [Google]
walk_away.gif
220KB, 500x375px
>>61760320
Wait, I just noticed that this simple program is half way through the book and not in one of the early chapters.
>>
Do you ever program outside? Do you enjoy any intoxicants while coding?
>>
I read an anon once recommending intel software developer manuals when someone asked how to learn programming. is it necessary to read all the almost 5000 pages or could I read only specific chapters that deals about programming?
>>
>>61760869
Necessary but not sufficient. You'll want to consult the majority of references as well.
>>
Is there any good tutorial about smart contract programming with Solidity? The official documentation sucks for learning.
>>
>>61760441
It's possible though surely, Ive been trying to do this for last 5 days and also tried perl.. getting so frustrating.
>>
>>61760916
fair enough. should I read it before or after SICP and K&R?
>>
>>61760403
>calls it math
>attacks others education
>>
>>61760980
Of course it's possible, bash is Turing Complete. Doesn't mean it's the proper kind of tool for the job
>>
>>61761016
Why though? Its something I want to cron so pretty much it or Perl are the best, I just suck at programing.
>>
>try to tell classmates about programming socks
>they think I'm just trying to come out as trans
oh well they're loss
>>
>>61761059
>Being a fag
>Being a literal meme spouter
Off yourself, mate.
>>
>>61761046
you want something like?
horse 12%
zebra 4%
fish 32%
dog 11%
fox 22%
...
>>
>>61761046
>I want to cron
That's got nothing to do with it. Scripting languages are best for administrative tasks, such as executing a certain program, not being the actual program
>>
>>61761091
Yeah but not the percantage, what each of those percentages are of 10000.
>>
>>61761256
>10000%
kek
>>
>>61756991
>What I want is the percentage each of those occur of 200,
I don't understand. Can you paraphrase and give a sample output?
>>
>>61761256
>what each of those percentages are of 10000.
?


give an example
>>
Should I into perl?
>>
File: 14232635.jpg (7KB, 261x137px) Image search: [Google]
14232635.jpg
7KB, 261x137px
How can I make an input loop in C++? This is seriously frustrating and I can't find a civilised way to do so wtf?

Input loop in D (read a file line by line):
foreach (string line; lines(stdin)){
//do shit and move on with your life
}
>>
>>61761386
Should you go back to réddit?
>>
File: semen demon question.png (40KB, 467x400px) Image search: [Google]
semen demon question.png
40KB, 467x400px
>Stack smashing detected
>>
>>61755267
>they currently have him on a 78 year repayment plan
what is the usual period to repay?
>>
>>61755068
What what, a book about classical mechanics? With Scheme exercises? That's hot!
>>
>>61761315
? That isn't funny
>>61761358
Well if its 25% of total then instead of saying 25% it says 2500. 25% of 10000, but can put any number there really.
>>
>>61761526
Are people being confused at what you're asking because you're literally asking how to fucking multiply?
>>
Learning asm. What are good gui to debug? I know ddd only.
>>
>>61761468
it's not common yet but they're starting to discuss making the debt inheritable. Too many people dying without fulfilling their part of the contractual obligation.
>>
>>61761552
No I'm not. 10000 is an example, what if its 27256, and that isnt even the issue, I know how to work out the percentage of a number but when I do I get a base error in that code and idk how to fix it.
>>
File: 12728809.jpg (19KB, 274x328px) Image search: [Google]
12728809.jpg
19KB, 274x328px
>#pragma once
>>
>>61761395
while (std::string line; std::cin >> line) {

}
>>
>>61761599
best header guard
>>
>>61761636
Doesn't compile
>>
>>61761684
Update your compiler
>>
>>61761395
std::string line;

while (std::getline(std::cin, line) {...}

>>61761636
cin >> (string) doesn't read an entire line
>>
>>61761517
What's more: it's not Newtonian mechanics, but Hamiltonian and Lagrangian mechanics.
>>
Any Visual Studio fags here?

So Im getting started with c# and c forms.

Is it possible to use different types or controls as the parameter for a method?

ie

public void function1(Control c){
//whatever
picBox.background = c.background;
}

then call it using different form controls.

function1(myButton);

function1(myPanel);
>>
>>61761636
let read_line () =
try
Some (read_line ())
with
| End_of_file -> None
;;

let fold_lines f accu =
let rec loop accu =
match read_line () with
| None -> accu
| Some line -> loop (f accu line) in
loop accu
;;

let count_lines () =
fold_lines
(fun count line ->
Printf.printf "%d:%S\n" count line;
succ count)
0
;;

let () =
let _ = count_lines () in
flush stdout
;;
>>
>>61761738
You can pass any object to function1 which inherits from Control
>>
>>61761724
Thanks
>>
File: 1501743580657.jpg (31KB, 400x400px) Image search: [Google]
1501743580657.jpg
31KB, 400x400px
>>61761747
>>
>>61761724
damn

well still, using the new C++17â„¢ features you should just declare line in the while

>>61761747
main = (lines <$> getContents) >>= _dosomething_
>>
>>61761747
Disgusting
>>
>>61761752
Thanks
>>
>>61761761
Yes, Jane Street agrees with you. They hate to have to use multiprocesses to do multicores.
>>
>>61761724
What does getline return? A boolean?
>>
>>61761888
It returns the stream that you passed to getline, in that case std::cin
>>
>>61761919
How come while checks condition on cin? It's not boolean, it's not int either
>>
>>61761931
cin has an operator bool()
>>
Anyone knows of a good open source chatbot engine with a C API?
>>
>>61761888
>>61761931
Procedures like that usually return either null or 0 in case of EOF or null input, and null can be used in place of false.
>>
>>61755113
>76 A.R. (after Ritchie)
>being ameridumb
>>
>>61761980
#include <iostream>

using namespace std;

int
main()
{
std::string line;

// while (std::getline(std::cin, line)) {
// cout << line;
// }

if (getline(cin, line) == 0)
cout << line;
else
cout "Will it compile?";

return 0;
}
>>
>>61762002
Don't know, I'm not a seppler but that's how it usually goes in C. There's the error case where it returns -1 and set perror too, but that's kinda irrelevant in C++.
>>
what do you goys think about Racket?
>>
>>61761944
But I didn't call bool() anywhere
>>
>>61762039
implicit bool conversion
>>
>>61762046
Oh boy
>>
>>61762025
Racket is fucking good and comfy: its main contender is Haskell, which have ADTs, but Racket is much better for meta-programming obviously.
>>
>>61762025
no one uses it.

irrelevant
>>
>>61762068
technically it's

explicit operator bool()
and not
operator bool()
which i guess is different
>>
>>61762103
and how is it compared to scheme or common lisp?

>>61762111
no one really uses the hole lisp family either
>>
where do you put your * in pointer declarations, lads? are a int* p; kind of guy, or do you prefer int *p;? or do you perhaps swing both ways: int * p;?
>>
>>61755206
>What do you think I'm doing?
>Attention Whoring
>>
>>61762135
int *vector;


Always. that's how the big guys do it.
>>
>>61762142
ding ding ding, this is the correct answer. look, for example, to
int n, *p = &n;
>>
>>61762135
The * in pointer declaration was supposed to be a mnemonic for the deference, so int *p. But of course the original reason was retarded and it doesn't really matter anyway.
>>
File: seriously shiggy.jpg (60KB, 288x318px) Image search: [Google]
seriously shiggy.jpg
60KB, 288x318px
>>61762160
>grouping value and pointer into a single declaration
>>
>>61762191
pajeet detected
>>
>>61762214
I'm an Ivan though.
>>
>>61762231
Ivander if you're telling the truth
>>
>>61762115
you can use explicit conversions implicitly in if-while-for statements
>>
>>61762278
>explicit conversions implicitly
Truly the finest of sepples
>>
>>61762338
>if (static_cast<bool>(foo)) { ...

does this look better to you?
>>
>>61762381
It looks seppler to me. At least you don't have to wonder if one of some thousands foos had explicit, implicit or no conversion at all.
>>
>>61762416
> At least you don't have to wonder if one of some thousands foos had explicit, implicit or no conversion at all.
But you don't this way either.
>>
>>61762441
Yeah, I mean when you read unfamiliar code or code that you wrote yourself a while ago.
>implicitly explicit
ok
>>
>>61762416
>more sepple

if you make choices based on that, then you will eventually end up in boost-land
>>
>>61762482
If the code compiles the answer is clear
>>
>>61762483
Fortunately I'm not into sepples.
>>61762494
Yeah, if
 if (foo)
compile, how do I know if that was implicit conversion or implicitly explicit conversion? That doesn't matter if it werks of course, but sepples tend to take things too far, before you know it sepples20 will have implicitly explicit conversion for arbitrary method parameter type because some fuck in the committee found the use for it once.
>>
>>61762530
>how do I know if that was implicit conversion or implicitly explicit conversion
You know that it has a conversion, which is everything you need to know in that case.
>>
>>61755068
I'm learning pygame and wondering if it is a bad idea to use my code as a note sheet. I am using comments to explain what things do.
>>
I just developed a new metric to judge languages
>if someone ever responds to a question by recommending another language then said language is shit
So far I've got Rust, Haskell, D, and Lisp in the shit category.
>>
>>61762555
>I'm learning pygame
i'm so sorry
>>
(define (accumulate combiner null-value term a next b)
(if (> a b)
null-value
(combiner (term a)
(accumulate combiner null-value term (next a) next b))))

I'm starting to see why you losers like scheme so much
>>
>>61762668
What would you recommend? I am not dead set on making a game, but I am looking for a way to visually understand how a program works.
>>
File: 1354338240793.gif (477KB, 244x139px) Image search: [Google]
1354338240793.gif
477KB, 244x139px
>Finally find a non-VS Win C++ IDE that isn't a fucking mess
>Can only get an evaluation copy, paid version is $90 USD a year
Anyone cracked Clion recently? Love the program but $90 per year is ridiculous.
>>
File: 1497778947704.png (18KB, 208x195px) Image search: [Google]
1497778947704.png
18KB, 208x195px
>>61762741
>mfw student license
>>
>>61762741

Become a student, then it's free.
>>
>>61762724
SDL2
>>
>>61762724
Vulcan of course
>>
>>61762122
Racket is Scheme with tons of batteries included, and has macros that are "better" in that they do the right thing at the cost of some complexity. It's made by a bunchy of PL theory people, so some of the concepts (like phase levels, and the OO library) you might have to read through a publication to really grasp.
Common Lisp feels old and has meh docs, but I guess a lot of people use it so it has a bunch of libraries on quicklisp. It's less functional-programming than Racket
>>
>>61762741
>>61762758
>>61762760

Would you recommend CLion to a friend? Many people use VS just for debugging, can CLion compete in that regard?
>>
>>61762792
Try Qt Creator.
>>
>>61762760
this

>>61762780
thanks dud
>>
>>61762760
but becoming a student isn't free
>>
>>61763015
lmao @ third worlders
>>
Sup faggots, /jp/ here and i've got a question.

I want to translate a Japanese game into English but i have problems with the pointers in the text data files.
The pointers always point to the first letter of the sentence. I edit this in hexadecimal.
When i add or remove letters from the sentence, the sentences after it will change and the pointers do not match the first letter anymore.
Which programming language would be able to help me create a program which changes the pointers according to the position of the first letter?
>>
>>61755520
How do you compute the number of characters in a string?

Let's say that the string is 256 bytes long, including the null-byte at the end. The first 255 bytes are all valid data. How many characters long is this string?
>>
>>61760399
> I find llvm's libc++ more readable than libstdc++.
Yeah even their compilation process is comprehensible, unfortunately the binaries are usually slower.
>>
>>61763078
You can use OllyDBG to allocate new strings at the end of the program (there will be a lot of empty spaces), then you basically push the pointer of the new db string rather than the one the game is using, I've done that before but it's really time consuming, probably could automate somehow.
>>
>>61763078
a possible better solution would be to just rewrite all the text, then replace the pointers after all the new locations have been decided, that way you only have to change them once.
>>
>>61755593
Because how POSTINCREMENT works.

this.value = 5;

this.value = ++this.value; // This increases this.value by 1.

this.value = this.value++;
// This returns the value 6
// then increments value by one,
// making this.value 7.
// Since 6 is the value returned, this.value is assigned 6.

It's EXACTLY what you'd expect. Because that's EXACTLY what you asked for. The docs should have told you this.
>>
>>61763144
Interesting, i didn't actually think of that.
I know how the pointers are configured, so i could just point them to a different place and let them read shit there.
Thank you, although having an automatic thing might be worth more i think.
>>
File: anime.png (786KB, 1000x1300px) Image search: [Google]
anime.png
786KB, 1000x1300px
>>61763078
Any
>>
Is it okay to measure the performance of a CUDA program using clock()? Will the thread be active while it's waiting for the GPU results to arrive?
>>
>>61755681
> AbstractInterfaceFactory
An Interface cannot be Abstract, and you cannot instantiate interfaces. You cannot instantiate abstract types (classes) either.

Nothing about your diagram makes sense from an OOP perspective.
>>
>>61763215
to be clear, I mean using clock() on the cpu, not in the kernel.
>>
>>61763192
Yeah you can try x64dbg instead of Olly and write a plugin that would help you automate the thing. But you need to know C or C++.
>>
>>61756991
Use an associative array.
Everytime you get a thing, increase the number stored there, and increase a variable saying how many things you have in total.

After you've got that thing down, you can proceed to do the math.
Remember that you can just use printf:
https://linuxconfig.org/bash-printf-syntax-basics-with-examples

So... you want (numberOfAnimal/totalAnimals) * 100 for the percentage. Then just printf it out. %.2f should give you 2 significant digits.

the trick is to split the task into smaller tasks you can do first.
>>
>>61763097

strlen()
>>
>>61763303
stop posting strlen
>>
>>61758224
A caveat is that if you're working in Java, you want H2 or HSQLDB for your own internal testing and trying shit purposes.
>>
>>61763317

Stop asking questions where strlen is the answer
>>
>>61763303
>O(n) string length
>>
NEW THREAD

>>61763350

>>61763350

>>61763350
>>
>>61758783
Haskell is an Athenian language.
>>
>>61760320
> implies
JESUS.
>>
>>61758783
>>61763362
idk but C++ is Persian
>>
Why aren't you using Luna, the visual and textual functional programming language with a focus on productivity, collaboration and development ergonomics?
http://www.luna-lang.org/
>>
Trying to get back into C, I saw a post with a list of functions that are pretty handy and are a good training, anyone knows what I'm referring to?
>>
>>61763303
How does strlen know the encoding of the string?
>>
>>61763423
Yes, POSIX's C libraries man pages.
>>61763438
It doesn't. It's all 8 bytes in standard lib's land m8.
>>
>>61762792

I actually prefer it to VS for C and C++. I only use VS for C#.
>>
>>61763438

> Fuck the Koreans, fuck hieroglyphics, a white man uses 8 bit ascii
Thread posts: 322
Thread images: 31


[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y] [Search | Top | Home]

I'm aware that Imgur.com will stop allowing adult images since 15th of May. I'm taking actions to backup as much data as possible.
Read more on this topic here - https://archived.moe/talk/thread/1694/


If you need a post removed click on it's [Report] button and follow the instruction.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com.
If you like this website please support us by donating with Bitcoins at 16mKtbZiwW52BLkibtCr8jUg2KVUMTxVQ5
All trademarks and copyrights on this page are owned by their respective parties.
Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
This is a 4chan archive - all of the content originated from that site.
This means that RandomArchive shows their content, archived.
If you need information for a Poster - contact them.