[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: 327
Thread images: 38

File: trap programmer dpt.jpg (2MB, 1700x2470px) Image search: [Google]
trap programmer dpt.jpg
2MB, 1700x2470px
old thread: >>58947004

What are you working on, /g/?
Also, post your programming environment!
>>
File: 1485835129868.png (17KB, 522x384px) Image search: [Google]
1485835129868.png
17KB, 522x384px
>>
>>58955705
Swap Fast Development with Neither and that pic will be true.
>>
A Skynet-inspired submodule for Mike Pence.
>>
File: 1456616931245.jpg (26KB, 300x419px) Image search: [Google]
1456616931245.jpg
26KB, 300x419px
>Rust
Rust keeps the C/C++ retards away by being too hard. If you are programming in Rust I would automatically assume your Rust code is better than 97% of /g/ toddlers anytime and anyday.

C/C++ is a beginners' language.
Rust is not.
>>
>>58955711
Is this reply bait?
>>
>>58955730
Your pic is bait
>>
File: 5eb.jpg (26KB, 600x750px) Image search: [Google]
5eb.jpg
26KB, 600x750px
>>58955705
>fast development
>development
>hasklel
>(((Development)))
>>
I've recently passed an introductory course in Java EE development course. I really enjoyed it, but the content provided was quite shallow. I would love to continue learning.

Could anyone recommend a really good J2EE book(s)?

I tried googling for one but most of the time people recommend JSP & Servlet books. I'd also welcome some material on JPA, Hibernate, Spring/REST, J2EE patterns...
>>
So, I'm working on a proof-of-concept for a text-based RPG made with HTML and Javascript. What's a JS validator that doesn't bitch about using tabs instead of spaces? And for a project like this, should I be using a pre-made framework or library, keeping in mind that I'm trying to keep things(relatively) simple?
>>
File: fixed.png (17KB, 545x420px) Image search: [Google]
fixed.png
17KB, 545x420px
>>58955705
Fixed it for you
>>
>>58955778
what's the difference between scripting and programming
>>
REPORT AND IGNORE TRANNY THREADS
>>
File: ^.^.jpg (112KB, 800x1200px) Image search: [Google]
^.^.jpg
112KB, 800x1200px
>>
>>58955791
age
>>
>>58955705
Fuck off
>>
>>58955791
programming languages translate to native machine code while scripting languages are either interpreted or translated to something that is run on shit like JVM
>>
>>58955807
So you are saying Java is a scripting language and cannot compile native binaries?
>>
>>58955696
>Also, post your programming environment!
Vim + CLI
>>
>>58955791
Scripting is suited for dealing with simple problems with limited scope. Programming is for more complex stuff. Need to search a database with 10 000 emails for specific keywords and don't have a suitable tool handy? Use a scripting language. Want to make a new web-browser? Use a programming language.
>>
>>58955813
if it compiles to native machine bytecode then i don't have a problem with it being called a programming language. JVM was just an example, could be any other VM
>>
>>58955832
Did you just pull that specification out of your ass? Yes?
>>
>>58955832
Check this retard out
>>
>>58955837
A Python interpreter is also just a VM. Technically, your operating system is just a VM.
>>
>>58955907
>Any actualization of code is a VM
Woah
>>
>>58955748
That's not what echoes mean dumbass
>>
>>58955942
Why are you responding to her?
>>
>>58955995
Why are you responding to me?
>>
https://opensource.guide/

hmmmmmm
>>
>>58955352

Actually quite simple. Chromatic aberration means that red/green/blue are offset.

left = GetPixel(image, x - xoff, y - yoff);
right = GetPixel(image, x + xoff, y + yoff);
here = GetPixel(image, x, y);

SetPixel(ret, x, y, left.R, right.G, here.B);
>>
>>58956300
nerd
>>
>>58955807
Go translates to native machine code :^)
>>
>>58956326
This is one of my favorite memes.
>>
>>58955764
>What's a JS validator that doesn't bitch about using tabs instead of spaces
TypeScript
>pre-made framework or library
Maybe a library to abstract rendering on the Canvas/WebGL, but everything else is bloat.
>>
>>58956153
>Code of Conduct
Stopped reading there.
>>
>>58956378
I'll check that out, thanks.
>>
File: 1486748238321.jpg (106KB, 1920x1080px) Image search: [Google]
1486748238321.jpg
106KB, 1920x1080px
For a simple website doesn't it make more sense to have the css and js embedded in the document instead of externally linked to reduce the number of server requests?
>>
>>58956444
>>>/g/wdg
>>
>>58956444
I'm no filthy webdev, but I think it's because it allows the browser to cache the javascript.
>>
>>58956326

rude desu
>>
>>58956444
>For a simple website doesn't it make more sense to have the css and js embedded in the document instead of externally linked to reduce the number of server requests?
Depends

If the content of the page changes frequently, then you'd rather have scripts and CSS separated so that the browser may cache these while retrieving fresh document data.

If everything is static, then it might be the case.
>>
>>58956469
Why do you space your posts like that?
>>
>>58956153
Nothing but inane content
>>
>>58956481
It's called separating your paragraphs. It helps the reader scan your message, especially if it's long. You'd know if you were old enough to have used mailing lists or newsgroups.

The blank lines autism is sillier than the "app" autism.
>>
>>58956697

4chan is multiple times worse than the September that never ended.
>>
>>58956755
Well, duh.
>>
File: grinds-my-gears[1].jpg (14KB, 320x248px) Image search: [Google]
grinds-my-gears[1].jpg
14KB, 320x248px
>>58955723
>calling C/C++ one and the same
>>
>>58956697
Those aren't paragraphs. They are all individual sentences, and they're all related.
Learn to format your posts correctly, you illiterate redditor fuck.
>>
File: CJdSyUV.jpg (65KB, 530x600px) Image search: [Google]
CJdSyUV.jpg
65KB, 530x600px
>>58956792
C/C++/C#
>>
>>58955723
>1 Mb executable
hah
>>
Holy shit, this thread is worse than /agdg/. I miss /prog/.
>>
>>58955723

hard != needlessly complex
>>
>>58955696
Emacs+SLIME+Paredit
>>
>>58955837
>if it compiles to native machine bytecode
How can a language do this? Did I miss some breakthrough?
>>
>>58956980
added to filter
>>
>>58956905
http://bbs.progrider.org/prog/
>>
>>58957066
You've had years to add him to your filter. Why today?
>>
File: tyff.jpg (76KB, 800x600px) Image search: [Google]
tyff.jpg
76KB, 800x600px
>>58957066
>>
>>58957176
>him
>>
>>58957164
It just isn't the same.
https://archive.tinychan.org/prog/
>>
>>58957185
>xir
>>
>>58957176
it's 2017
>>
What happens if in java you have a reference to a field of another object that has been garbage collected?
Does the field become null aswell or fields that are referenced from somewhere else are spared?
>>
what's a better word for nothing than "void"
>>
>>58957269
>if in java you have a reference to a field of another object that has been garbage collected
Not possible.
>>
>>58957277
nil
>>
>>58957277
Define "nothing"
>>
>>58957277
I hope you aren't implementing null in your language.
>>
>>58957194
Man, you can really tell when things started to get bad on the internet and 4chan overall by going through the archives. 2011 was the last good year for using the internet to communicate with randoms. Past that, all of the "le memes are epin" crowd start bursting in and the content quality fucking PLUMMETS.
>>
File: curta-mechanical-calculator.jpg (2MB, 3000x2000px) Image search: [Google]
curta-mechanical-calculator.jpg
2MB, 3000x2000px
>>58955705
Had good times as 6502 assembly programming consultant work. Development was fast. Otherwise I would not have had a job.

Reliable too, 6502 is used in pace makers, taking the entire concept of life time guarantee to a new level. (No, I didn't program those)
>>
>>58957300
Ok i'll try with an example
Obj j = new Obj;
reference r = j.myfieldWichIsAnObject();
j = null;

What happens here?
Will the object ever be garbage collected or as long as there is something referencing one of it's fields it won't be collected?
>>
>>58957310
>>58957312
>>58957314
i'm just making a no return type.
>>
>>58957330
"Nothing"
>>
>>58957242
It is?!
>>
>>58957277
>>58957330
Haskell has a unit type, called ().
A unit type only has 1 possible value.

This works out to be much better than having "no return"
>>
>>58957330
You're making a no-return VALUE. Read Shutt's work on Kernel for a sane set of special values, including 'void' and '_', which are nicely symmetrical.
>>
>>58957317
>X was the last good year
I remember think the same thing around 2008.
>>
>>58957317
I remember back in 2011 when people used to say that about 2007.
>>
>>58957363
>>58957373
every year sucks ass for someone
>>
>>58957350
How is that any different form null?
>>
>>58957422
It's like this:

struct Unit {};
// or
// data Unit = Unit
// (haskell style)

Unit theUnitValue {};

Unit myProcedure() {
// do stuff
return theUnitValue;
}


In fact, you can have it in your standard library, rather than built into the language.
The compiler can simply see the definition for Unit has no members, and therefore only has 1 possible value, and then optimise.
>>
>>58956143
johnson is a lisp fag
>>
>>58957422
>>58957440
And if by "null" you mean that every type has a "null" value, then that's not what I mean at all.
>>
>>58955696
rewriting Haskell to be without any types whatsoever.
>>
File: 1487154092710.jpg (325KB, 2136x3216px) Image search: [Google]
1487154092710.jpg
325KB, 2136x3216px
>>58957485
stop

type police
>>
>>58957479
He does low-level stuff professionally, according to him. He also participated heavily in the Haskell push around that era.

My actual point was that /dpt/ has been trolling itself over Haskell for at least six years now.
>>
I want to create some nice simple games/physic simulations without using some huge ass engine like Unity.
I know C pretty well, what kind of library should i use ? SDL sounds alright, do any of you have good tutorials on it ?
>>
>>58957485
You'd just end up with base Racket.
>>
>>58957510

Could look into SDL combined with something like box2d or Chipmunk (Depends on the sort of simulations and accuracy you're looking for). It's still going to probably be more work than using a prebuilt toolkit style solution.
>>
>>58957510
SDL would be fine, slut-for-baguettes.
>>
>>58957510
C and SDL
C++ and SFML
Lua and Love2D

All decent choices for simple games. Just work with the documentation, SFML and Love2D have great docs, can't speak for SDL.
>>
>>58957510

Oh, and if you're into tiled rpg style games http://www.mapeditor.org/ has decent documentation and works well.
>>
>>58957537
Jesus Christ, how the fuck do people always know i'm a frenchfag ? It's the space between the interrogation point and the end of the sentence isn't it ?
>>58957534
I'm looking at creating the physics part by myself, I want a little bit of challenge while learning some new stuff
>>58957540
Thanks.

As for a more general question, would it be worth it for me to learn C++ ? I'm a CE student, and i'm looking to learn some Enterprise Grade (tm) languages.
>>
>>58957580
>It's the space between the interrogation point and the end of the sentence isn't it ?
Well, that and you being a huge faggot.
>>
>>58957580 (You)
>>
>>58957363
>>58957373
>implying you aren't faggots who can't cite actual reasons and just repeat the "hurr every generashun says that a certain year was the last good year" meme
All of the years prior had something stupid and bad about them, e.x., 2010 had a september where some assburger was spamming threads. However, 2011 is one of the last years where purely programming threads occupy at LEAST half of each page. Past that, it's shit about da joowz, people spam posting empty posts in on-topic threads, and /b//pol/ meme thread spam. Tech posts are advertising, "get in here" threads, and "how do I learn programming" threads; even homework threads begin diminishing as /prog/ nears its end.
>>
Anyone know any decent step by step tutorials on how to create a cryptocurrency from scratch?
>>
>>58957618
fork bitcoin
change the name
???
>>
>>58957618
just study some existing sources.
I've recently created my own confederate currency
>>
>>5895758

Depends "Enterprise Grade" typically means the standad Java, C#, Node.js, C, and whatever fotm database management language is popular at the time.

As for game dev if you're looking to go into engine work sure C++ is the most common language.
>>
>>58957638
>>58957633
Cheers, it was just for some school thing, not to be released for profit, trying to get my head around it and know how to program one
>>
>>58957580
>It's the space between the interrogation point and the end of the sentence isn't it ?
Yes.

That's fine in French, but it is simply incorrect in English.
>>
>>58957692
much like your reddit spacing
>>
How do I make a switch menu, so that when one case ends, it goes back to the menu? Put it in a while loop?
Example: case 1 takes you to a text editor, when you exit it, it takes you back to the menu.
C#
>>
>>58957877

Stack Based Finite State machine
>>
Let's say I have something like the following code. How do I write a move constructor and operator= for the List class?

using Listptr=std::unique_ptr<Node<T>>;
class List: private Listptr{

};

class Node{
List<T> next;
T data;
};
>>
>>58957614
>implying you aren't faggots who can't cite actual reasons and just repeat the "hurr every generashun says that a certain year was the last good year" meme
Actually, if you re-read my post you'll see it runs 'when people used to say that about 2007'. I didn't say I had any opinion on the matter.
>>
>>58957908
What?
>>
>>58957917
You most certainly implied it, however.
>>
>>58957911
Should have paid attention in class.
>>
>>58957938
True, but he didn't really tell us how to do it
>>
>>58957928


I may be misunderstanding what you want. But a state machine approach would be basically pushing a new state on a stack structure for each program behavior when it is closed you pop back to the previous state.

It's a pretty old fashioned way but easy to implement.
>>
So, I tried making the jump into assembly because I hear about how powerful it is, and I really liked the Sega Genesis as a kid so I tried to get into m68k and oh god I have no idea what I'm doing
>>
>>58957931
Nah, you inferred it. I was deliberately detached.
>>
>>58957928
>>58957974

Here is a better explanation the problem domain is probably different but it's still applicable.
http://www.leadwerks.com/werkspace/topic/3655-tutorial-menu-state-machine/
>>
File: indexed monads.png (39KB, 739x378px) Image search: [Google]
indexed monads.png
39KB, 739x378px
>>58958065
>it isn't an indexed monoid or monad
literally sick senpai
>>
>>58956444
What's the point? Why would you care if the browser makes 3 requests or 1 request if it's going to be cached anyway?
>>
>>58958064
You responded in typical fashion of someone who brushes aside all notions of community change over time as every generation having a valued year or years, any detachment you think you have is all imagined.
>>
>>58957510
Why would you need a tutorial for SDL? Just look at the reference. Also if you want to make a 2d game use sdl-gpu with batching instead.
>>
File: 1487006831001.gif (3MB, 359x202px) Image search: [Google]
1487006831001.gif
3MB, 359x202px
repost: I have the strangest bug. When using std::fstream.get() to get a single byte, the pointer jumps one byte, as expected and confirmed by std::fstream.tellg(). EXCEPT when using one particular file (or a copy thereof) at one particular offset. The byte is nothing special, I have read an identical byte before in the same program run. Problem was confirmed on another computer. Wat do? Other compiler is nigh impossible.
>>
>>58958074
>using Haskell and not provably correct Idris
disgusting
>>
>>58957510
Use SDL2 + Opengl3
>>
>>58958074

:P Same result and behavior different expression or perspective if I'm grasping what you're implying.
>>
>>58958098
Actually, I responded factually in order to avoid conversations like this. People invariably get twitchy when this topic comes up.
>>
>>58958133
Post some minimal code snippet that reproduces the case?
>>
>>58957618
{
"chain": [
{
"data": "some very cool data my friend",
"hash": "hash_of_data"
},
{
"data": "even cooler data",
"hash": "hash_of_previous_hash_and_current_data"
},
{
"data": "the most cool data",
"hash": "hash_of_previous_hash_and_current_data"
}
]
}


Here's your blockchain
>>
>>58958192
Hard to do, is work related - therefore compiler change is not an option. Also, my immense headache prevents me from minimizing the thing. But yeah, that's gonna be the next step.
>>
>>58958164
>Factually
You keep insisting that by referencing the fact that communities have deteriorated before and people have said during such events that the past was better (i.e., [place] died in 2006, etc), you've achieved some nirvana of neutrality; instead, your repetition of fact is just veiled disagreement.

tl;dr you're a fag
>>
>>58956854
1 Mb is just around 122 KiB
>>
>>58957974
>>58958065
Wait, I need to do it in console. If I put the switch in a true while loop and make case n set the loop to false, it will run until that button is pressed, however not when it's in another case?
Example: case 5 is exit, case 1 is pressed and executing, if I press case 5, it won't exit the loop, correct?
Also, how do can I make the code more readable? I don't want to have 200 lines of code in each case.
>>
>>58958377
Heil Kibihitler
>>
File: WM.webm (259KB, 500x500px) Image search: [Google]
WM.webm
259KB, 500x500px
>>58955696
>What are you working on, /g/?
A modular synthesizer.
Current progress: a GUI written in C++ with simple rendering provided by SDL. Basically a stacking window manager for now. Nothing clickable yet.
>>
>>58958348
Actually, I just stated what other people's opinions were in 2011 in order to avoid being attacked for voicing my own.

The fact that I'm being criticised despite voicing no opinions serves to highlight my other point, which was that people get very tetchy about this subject.
>>
>>58958520
Just use Qt and you can skip all the boilerplate for the UI and get straight to the functionality.
>>
>>58958445

Enums to define state + switch statement in your main loop with a stack structure holding the current state is one way.

Think of it like this let's say you've got a menu

Main Menu
1. Paint
2. Calc
3. Exit

if you select paint it pushes the "Paint" state onto a stack and that state contains the code to provide these features.

Paint
1. Choose brush
2. Draw
3. Exit

When you choose exit it pops the paint state from the stack and returns to the main menu state.

You share basic pieces that are common across all states. (Rendering, input handler, timers, etc)

Another way to do this is oop style inheritance where you define a interface and have each state implement the actual features.

As for 200 lines of code for each state that's really really small. As long as you're not repeating yourself constantly with the same code it's more than reasonable (Assuming semi-complex states).
>>
>>58958561
It wouldn't work for what I want to do with it in the end. That's why I started my own GUI in the first place.
>>
>>58958612
How so?
>>
>>58958520
Are you going to make music with it?
>>
>>58958631
This whole project is about me learning to write medium-scale programs with SDL and OpenGL. For now I'm not using OpenGL, but will in the future, after I get past simple stuff.

>>58958644
I've never made music before and have never touched a piano, but I'll sure try :^)
>>
>>58958135
>provably correct
What do people even mean by this?
>>
>>58958784
Exactly what it sounds like
Consistent type systems correspond to mathematical logic
>>
>>58958799
So provably correct just means consistent?
>>
>>58958809
They mean you can actually prove your programs are correct
>>
>>58958520
Intradasting.

Why did you choose SDL? Is this a standalone program? If not, is there a reason for not using an audio focused
framework/library?

Also, which platform is this for?
>>
>>58958829

That is assuming the axioms you based the program on are not incorrect :P
>>
>>58958844
>this is exactly the same as in regular logic
well done
>>
>>58958878

Sadly, it's not such a obvious statement for many.
>>
>>58958844
Yes, so you only use a sound type/logic system to construct your proofs. Luckily, people much smarter than us have spent a lot of time figuring out nice, consistent logical frameworks :)
>>
>>58958829
How would you do such a thing and what does it mean for a program to be correct?
How can you prove that this program is "correct"? Let's pretend this in Idris.
f :: Int -> Int -> Int
f x y = x + y
>>
>>58958835
>Why did you choose SDL?
I needed a library that would allow me to draw pixels and output a wave into the speakers. Since I really like SDL, it was an easy choice.
>Also, which platform is this for?
That's the magic of SDL. Write once, run everywhere [citation needed].
At least I'm hoping to get it running on Android at some point, which shouldn't be much of a problem.

>is there a reason for not using an audio focused framework/library?
SDL won't do much in the synthesizer-part of the program. It just needs to output a wave into the most relevant audio sink, that's it. The rest will be done by me, so no audio framework is necessary, since I'm reinventing the wheel anyway.
>>
>>58958911
f : [a : Type] -> [n : Nat] -> Vec (S n) a -> a
>>
>>58955813
>Can run on any masheen hurr durr
>You need to install this Virtual Machine so it can run in it
pfff
>>
>>58956980
>needlessly
>>
>>58958909

This sort of thought pattern does indeed help for many things.. However, it's also been a thorn that really has really held back research in some fields like quantum physics. Sometimes the consistent frameworks "Smarter people" made in the past just aren't accurate or they just describe byproducts or symptoms of the actual cause.
>>
>>58958971
>byproducts
>>
>>58955907
Machine code are straight processor instructions, not OS
>>
So if I actually want help with stuff I'm doing in babbys first cs course should I ask here or am I just going to get memes
>>
>>58958911
comm : [x y : Int] -> f x y == f y x

assoc : [x y z : Int] -> f x (y z) == f (x y) z

zero : Int
left_id : [x : Int] -> f zero x == x
right_id : [x : Int] -> f x zero == x

negate : Int -> Int
inv : [x : Int] -> f x (negate x) == zero

And so on.
>>
>>58958911
http://incredible.pm/
>>
>>58957047
>What is a compiler?
>>
>>58958991
And really right_id is redundant as it follows from comm and left_id:
right_id = left_id . comm
>>
>>58958964

Correct.
>>
>>58959012
Oh, so you mean a compiler can do this? Why did you say that the language itself can?
>>
>>58959022
>enforcing correct ownership, borrowing, no shared mutable state, and exception safety, among other things, purely at compile time is not needed
>>
>>58958991
I see, thanks.
>>
>>58959048

Correct.
>>
>>58959053
Idris and other languages like it give you the tools to design a meaningful specification and prove programs follow the specification. Coming up with the specification and the meat of the proofs is the programmer's job, Idris can only check that it's all being respected.
>>
>>58958971
Actually, one of the great things about mathematics is that it is possible to truly prove something correct.

I think you're confusing the rigor of logical systems with unrelated concepts that are not mathematically provable.
>>
>>58959053
look at >>58958074 for instance
>>
>>58959087
Godel would like a word with you.
>>
>>58959087

The two intermix after a certain level so much the line is very thin. This is most likely a true statement.

It's probably personal bias I find basing our proofs on partial understandings to be half-assed. The goal is a accurate description and understanding of the source which will then describe all interactions afterwards not a understanding the interactions that come as a result of the source without any understanding of said source.

Math turns into philosophy and Philosophy turns into math :P
>>
>>58959053
>>58959077
And, essentially, all research in type theory and dependent type PLT is doing one of three things:
1. Allowing the programmer to design even more meaningful specifications
2. Making the programmer's job easier
3. Checking/helping with proofs more efficiently and outputting more efficient machine code
>>
>>58955696
Hey /dpt/ I'm going to be teaching a short workshop on scientific python to grad students. What should I make them do?
>>
>>58959178
learn a different language
>>
>>58959178
build a botnet
>>
>>58959178

Statistical analysis and data gathering if you can fit such a curriculum in such a small time frame.
>>
>>58959185
It's Python or R for the poor bastards.

>>58959204
I mean I could probably sneak in some exec code as an example of using python to interact with the system but that would be mean desu.

>>58959205
I'm going to try teaching them the basics, they should already know some stats and programming but I am not confident that they'll actually be able to do either.
>>
File: TeZknWf.jpg (541KB, 1536x1903px) Image search: [Google]
TeZknWf.jpg
541KB, 1536x1903px
Post me your chillest programming music mix, I need new stuff to listen to

https://www.youtube.com/watch?v=pppxRVTcQjE
>>
>>58958985
You can definitely try.
>>
File: 1476210886829.png (1MB, 500x1011px) Image search: [Google]
1476210886829.png
1MB, 500x1011px
>>58959327
https://www.youtube.com/watch?v=qumFCG9oIXw
>>
I just finished two programs:

1. take a .bmp file and transform RGB to YCbCr, then perform quantized DCT on each 8x8 block like jpeg. DCT coeffs are saved as 2 byte shorts in a file together with information about dimensions of the image.

2. take such a binary file and decode it again into a .bmp file.

if I use bip2 on the binary files, the compression is slightly better than the original jpeg losless entropy coding for the dct.
>>
>>58959327
FFIV OST
Chrono Trigger OST
>>
>>58959327
https://www.youtube.com/watch?v=xAjtTdkYl4M
>>
File: 6d748b113a80ccb41e31e12cf818902e.jpg (517KB, 1000x1282px) Image search: [Google]
6d748b113a80ccb41e31e12cf818902e.jpg
517KB, 1000x1282px
Continuing my quest to learn Haskell using the wikibook. I'm getting there, but I keep getting raped by the type system. I'm either stupid, or the messages from GHC are obscure (cannot construct of infinite type...). I feel like I can be more productive using Racket because it's dynamically typed, but Haskell has more packages and documentation available.
>>
>>58959327
https://www.youtube.com/watch?v=5yUkurAKIeQ
>>
I'm having some problems using getopt.

>The options argument is a string that specifies the option characters that are valid for this program. An option character in this string can be followed by a colon (‘:’) to indicate that it takes a required argument. If an option character is followed by two colons (‘::’), its argument is optional; this is a GNU extension.

First, if I parse a character with :: into the function, the program can't read the argument, and what would be the best way to exclude the arguments from being considered non-option command-line arguments like files?

Thanks.
>>
>>58959425
What an appt image
>>
>>58959425
post errors + code

>infinite type
90% of the time that's just a type mismatch
e.g.
if you said it was A -> B but it's actually B
(A -> B) = B
A -> (A -> B) = B
A -> (A -> (A -> B)) = B
...
>>
Does the haskell wikibook go into stuff like language extensions too?
>>
>>58959471
A few of them
You can also try the haskell wiki
>>
>>58959455
>post errors + code
Will do. Give me a sec to create an example.
>90% of the time that's just a type mismatch
You're right about the type mismatch. I'm just having a hard time deciphering what the actual type is and what it requires.
>>
File: dpt.png (378KB, 1450x1080px) Image search: [Google]
dpt.png
378KB, 1450x1080px
I WANT TO DO SOMETHING NICE WITH MUH MICROCONTROLLERS OR RASPBERRY BUT CANT THINK OF ANYTHING. ;_;

WE TRY TO ROLL AND APPLY IT ON µC
>>
Dumb java question, for java graphics do negative x values exist?
>>
>>58959511
one time reroll.
>>
>>58959510
some useful GHC extensions are

TypedHoles
Lets you write
myfunction :: Int -> String
myfunction i = _
>found hole _ :: String
>relevant bindings include
>>i : Int


PartialTypeSignatures
Lets you do write e.g.
myfunction :: Int -> _
-- notice the _ in the signature
-- GHC will fill it in if possible
myfunction i = show i
>found wildcard _ standing for "String"
>>
>>58959425
>cannot construct the infinite type
Sounds like you should be learning LISP.
>>
>>58959553
and syntactically

Typed holes occur as terms, e.g. ((3 :: Double) + _)
Partial type signatures occur in types, e.g. Int -> _ -> Float

The regular _ from standard Haskell occurs in patterns, e.g.
f (x, _) = ...
>>
>>58959573

f :: _ _ _
f _ = _
>>
File: mustard.jpg (144KB, 500x500px) Image search: [Google]
mustard.jpg
144KB, 500x500px
Haskell is a declarative language.
You're not describing a procedure, you're describing the result and the programmer doesn't care what kind of gymnastics GHC has to do to get that result.
>>
>>58959455
I got the infinite type error while creating a reverse function. I used a 'foldr' instead of a 'foldl'.
reverse' xs = foldr (\acc x -> x : acc) [] xs

[1 of 1] Compiling Main             ( ListsIII.hs, interpreted )

ListsIII.hs:19:32: error:
• Occurs check: cannot construct the infinite type: t1 ~ [t1]
Expected type: [t1]
Actual type: [[t1]]
• In the expression: x : acc
In the first argument of ‘foldr’, namely ‘(\ acc x -> x : acc)’
In the expression: foldr (\ acc x -> x : acc) [] xs
• Relevant bindings include
x :: [t1] (bound at ListsIII.hs:19:27)
acc :: [[t1]] (bound at ListsIII.hs:19:23)
xs :: t [[t1]] (bound at ListsIII.hs:19:10)
reverse' :: t [[t1]] -> [t1] (bound at ListsIII.hs:19:1)
Failed, modules loaded: none.

>>58959553
Do those extensions make me a better Haskell programmer, or am I just tricking myself?
>>58959568
I read Realm of Racket. It's great, but library support is poor and there are few code examples available.
>>
>>58959654
Those extensions just make it easier to write Haskell

One thing about foldl and foldr, is their first argument (which is a function) takes arguments in different orders

foldr (\x acc -> e)
foldl (\acc x -> e)
>>
File: shot-201702151905.png (6KB, 420x244px) Image search: [Google]
shot-201702151905.png
6KB, 420x244px
>>58955696
>>
File: 1367179357990.jpg (575KB, 1296x972px) Image search: [Google]
1367179357990.jpg
575KB, 1296x972px
Am I a good programmer yet?
>>
int var, fn();


Evil or nah?
>>
>>58959686
where's your programmer pantsu?
>>
>>58959686
Show Panties
>>
>>58959407
baklava pls
>>
>>58959681
>One thing about foldl and foldr, is their first argument (which is a function) takes arguments in different orders
I eventually figured that out after reading the fold section again from the wikibook and LYAH and moving things around. The message from GHC didn't help me at all.
>>
>>58959654
And to further elaborate, at the type level, ~ means equality in Haskell.
So (t1 ~ [t1]) means that the type t1 is equal to a list of t1.
That doesn't make any sense (in the Haskell type system) - it's an infinite type.
If you look at just this subsection:
foldr (\acc x -> x : acc)

you get the same error (different variable names, but that isn't important)
>a ~ [a]
The type of foldr is
Foldable t => (a -> b -> b) -> b -> t a -> b

Your lambda
\acc x -> x : acc

Has type
[c] -> c -> [c]

(i've called it c so that it doesn't muck up when we compare it)
(a -> b -> b) ~ ([c] -> c -> [c])
(i.e. your lambda has the same type as the first argument of foldr does)
a ~ [c]
b ~ c
b ~ [c]

If you look at these last two:

b ~ c
b ~ [c]
b is a c, but it's also a list of c
These two constraints cannot both be satisfied at once, and that's the error
>>
>>58959553
this is pretty cool. anything else I should know about?
>>
why did c++ do this to us
https://en.wikipedia.org/wiki/Erase%E2%80%93remove_idiom
>>
>>58959705
>>58959709
Ahah, I was guaranteed to get (You)s with this 4yo pic that isn't even mine
>>
>>58955696
Haskell is an ugly language. You can't even write the Y combinator (invented by Haskell B. Curry himself) without disgusting hacks. What a slap in the face to his legacy.
>>
Someone do a properly centered version in sepples >>58934460
>>
>>58959686

No, you're just a gigantic faggot. Well done
>>
>>58959741
Yeah, it's a nasty error message for a beginner.
I've tried to explain it here >>58959742

Basically, as GHC reads your code it generates constraints, that say "this type must equal that type"
foldr :: Foldable t => (a -> b -> b) -> b -> t a -> b
The first argument has type (a -> b -> b)

You call it:
f :: [c] -> c -> [c]
f acc x = x : acc
-- (basically a lambda)
foldr f

GHC sees that you call foldr with f, so it knows (f) must be the type (a -> b -> b) (because that's the type of foldr's first argument)

When it tries to unify the two types:
(a -> b -> b) ~ ([c] -> c -> [c])
It can't, because:
a ~ [c]
b ~ c
b ~ [c]

b can't be c and [c], since [x] is a distinct type from x

>>58959755
What sort of things do you want to know?
>>
>>58959764
it's ok
the seed of degeneracy has already been planted in your head
you wouldn't have posted a trap pic if you didn't like the idea of dressing up like a girl
you'll be posting lewd pics of yourself very soon
>>
>>58959780
I had the idea of counting the integer length of the last row, but that would require 2 nested loops instead of one, so I said fuck it.
Just output html and center it in your browser.
>>
>>58959787
>must be the type
must have the type
>>
>>58959787
how do you debug haskell code? mash away on the repl?
>>
>>58959759
>remove doesn't actually remove elements
C++ is a mess.
>>
>>58959876
the repl is a good place to do it

you can do

:t e

to make it print the type of e
>>
>>58959887
is there anything like jdb or pdb for haskell?
>>
>>58959787
Aha, so an infinite type basically means that the compiler cannot find a type to match the signature of the function.
So how can I know the type of a function if it doesn't work? Should I split the function into smaller pieces and print the type of those?
Thanks for the explanation senpai. It actually sounds logical. I'll keep going with Haskell.
>>
>>58959876
Laziness makes it much more difficult to reason about code. If you have to do this, you're on your own. Good luck.
>>
I need help guys. I have an XML payload stored in a db2 database as a clob. I need to extract and display the entire payload via java. How the fuck would I go about this that isn't writing an individual parser for each type of payload?
>>
>>58959903
Oh, nice. Apparently :t also works on lambdas.
>>
>>58959917
>java
>IBM db2
>can't fucking work with XML payloads

/dpt/, if you want an actual example of pajeet, this is it
>>
>>58959892
I don't think so

>>58959903
An infinite type means this specific mismatch:
a ~ C a

where C is any kind of type constructor that specifically makes a new type
since [a] is definitely a new type from a, as is (IO a), (Maybe a), (a, Float), etc, it can't unify a with those types
So in your case

a = b
a = T b

a = b = T b

b = T b
-- here is the problem, and here is the infinite type
b = T b
b = T (T b)
b = T (T (T b))

And yes, you can split the function.
What are you developing in?
I use atom with plugins that lets me see the type of functions when it autocompletes

>>58959924
Lambdas are also expressions, they're just regular expressions the same as everything else
Do blocks are expressions

:t do { return 3 }
-> (Num a, Monad m) => m a

If form expressions

:t \b -> if b then 3 else 4
Num a => Bool -> a
>>
File: give_me_a_break.gif (1MB, 200x150px) Image search: [Google]
give_me_a_break.gif
1MB, 200x150px
>>58955705
>>58955778
>>58955807

>Python isn't a programming language
Someone should call MIT, Stanford and Yale. They're teaching that Python IS a programming language, but clearly random anons on /g/ know more than all of them put together.

>inb4 python babby detetcted
I actually prefer programming in C/ASM, but I'm still able to recognize when people are being retarded.
>>
>>58959817
The Ada guy did it in two lines
>>
>>58959954
>I use atom with plugins that lets me see the type of functions when it autocompletes
do you use ghc-mod?
>>
>>58959968
Yes. It can be a pain to install.
>>
File: Java_Logo.svg.png (50KB, 550x1024px) Image search: [Google]
Java_Logo.svg.png
50KB, 550x1024px
>>58955696
>whitie can't into java
>whitie insecure about himself
>whitie wants affirmative action against pajeets who are BTFOing him
>>
>>58955942
>(((means)))
>>
>>58959960
There are more strict definitions than others. They're referring to compiled vs interpreted languages, calling compiled "programming" and interpreted "scripting". It's incredibly meaningless semantics.

Don't fall for their autism.
>>
>>58959980
Nice try, false-flagging nationalist nazi.
>>
File: this.jpg (97KB, 1280x720px) Image search: [Google]
this.jpg
97KB, 1280x720px
def addplusone(arr)
for i in 2...arr.size() do
if(arr[i] > 0)
arr[i] -= 1
k = 2
while (k < i) do
arr[k] = arr[0]
k += 1
return h(arr)
end
break
end
end
if(arr[1] > 0)
arr[1] -= 1
b = arr
arr[0] = h(b)
arr[1] = 0
return h(arr)
else
return arr[0] + 1
end
end

best addition function ever
>>
>>58959935
I work with pajeet. Java and db2 aren't shit I know. That's why I'm asking.
>>
So I have an Android App that uses a NavigationDrawer and multiple fragments. The thing is I have a bunch of fragments that either gather data from Facebook, scrape Webpages or download .csv files and have to do a bunch of stuff before displaying the information I want. In most cases this is pretty fast but it can take up to a few seconds and I would rather speed it up.

Is there any way to preload fragments or speed something like JSOUP up ? could I maybe download all the HTML code that I later use for JSOUP in my mainactivity already ? Any suggestions on how to speed this up ?
>>
>>58960022

Serious question just how many of us on /dpt end up in /x/ or /pol/ when we're not here??

I wonder what attracts other programmers to those boards.
>>
File: install gentoo.png (15KB, 558x586px) Image search: [Google]
install gentoo.png
15KB, 558x586px
has anyone here actually fucking read norvig cover to cover?

its 1000 fucking pages aiming to serve as a complete introduction to AI, but when i told my prof i hadnt read it, i only attended lectures and skimmed relevant chapters for revision he looked at me like i was taking the piss.
>>
File: 1479115593840.png (134KB, 579x589px) Image search: [Google]
1479115593840.png
134KB, 579x589px
;;; let's say I want to define an error in Emacs lisp
(define-error 'my-error "MyError")

;;; and need it for some reason in an interactive function
(defun my-fault ()
(interactive)
(signal 'my-error '("Well this sucks")))

;;; this will echo "MyError: Well this sucks"
;;; on the other hand, signaling "error" behaves differently

(defun my-odd-fault ()
(interactive)
(signal 'error '("Well this sucks")))

;;; will signal "Well this sucks".
;;; user-error behaves the same as error.
(defun my-usr-fault ()
(interactive)
(signal 'user-error '("Well this sucks")))

;;; However, not all standard errors behave that way:

(defun my-file-fault ()
(interactive)
(signal 'end-of-file '("Well this sucks")))

;; Yields "End of file during parsing: Well this sucks". Oddly,
;; setting the message string to "" (as is the case for user-error but
;; not error itself) like below does something even stranger

(define-error 'my-quiet-error "")

(defun my-quiet-fault ()
(interactive)
(signal 'my-quiet-error '("I am error")))

;; this will echo ""I am error"" in other words it includes quotes out
;; of nowhere.

;; what is going on?
>>
>>58959954
Oh, so it actually is an infinite type. I didn't know that.
I use vim on the top half and GHCi on the bottom half. I write my functions in vim and load them into GHCi. I also use GHCi to check the type of things.
>>
>>58960127
Yeah, it's not very obvious from the error.
Might be better if it gave the constraints and a tiny example.
>>
File: dana-white-laughing-mma.png (368KB, 950x451px) Image search: [Google]
dana-white-laughing-mma.png
368KB, 950x451px
>programming thread
>they are actually teens who enjoy codemonkey stuff

>not people making piles of money writing professional embeded aircraft software

kek, you fucking teens really make me ashamed of calling myself a programmer. the thing is, if you can't write a kernel you are nothing more than a codemonkey.
>>
>>58960216
>he thinks writing a kernel makes him a programmer
get a loaf of THSI brainlet.......

if you haven't gathered the raw materials to make computer components AND implemented your own operating system on top of the kernel, don't talk to me or my son ever again.............. kid..................
>>
>>58960016
Go is compiled.
>>
>>58959686
Jesus Christ, bro, you need to eat something.
>>
>>58959741
GHC produces completely correct and utterly unhelpful error messages.
>>
>>58959778
4/10
>>
>>58960343
there is no such thing as a "compiled" language
>>
>>58960190
>>58960432
t would help if GHC gives a hint on the type of the function it tries to compile.
>>
>>58955705
Implying compiled Lisp dialects are as slow as Python.
>>
>>58960518
If you don't declare the type, and the expression doesn't typecheck, then GHC can't guess what the type is supposed to be
>>
How do I just print the contents of a clob? When I convert it to a string it's giving me the incorrect values.
>>
I'm planning on learning rust as a hobby. Got any learning supplements or advice? I'm jumping right in with little programming experience so anything related to best practices or theory or other jargon nonspecific to rust is welcomed.
>>
Okay, /dpt/, riddle me this:

>I have two VMs running Windows. One is running Windows 7, the other is running Windows 10. Both VMs are running on Virtualbox on a NAT Network.
>Both VMs can see each other from the network tab in Explorer, and can ping each other, hit each other with tracert, etc...
>Both VMs have their firewalls completely disabled. No packet should ever be denied due to any sort of port filtering.
>If I listen on any arbitrary port on one VM using a regular old TCP server, I cannot access it through the other by connecting to the same port, instead getting "No connection could be made because the target machine actively refused it"
>If I try to connect to the same port and IP (10.0.2.15 or 10.0.2.5) from localhost, it connects.

What is going on here that is preventing me from getting these two fucking things from talking to each other? And this isn't just with my own server programs. I am getting the same problem with an OPC server program I am trying to snoop on with Wireshark.
>>
>>58960718
>Windows
Found your problem.
>>
>>58960718
something something muh linux
>>
In Java I have a function that returns an int:
int a = foo(); 

This takes 4 bytes of memory, all good. If I want to return something a little more complicated:
class Result {
public int a;
public int b;
public int c;
}

Result a = foo();
I'm now using a total of 32 bytes - 16 bytes of object overhead, 12 bytes for the 2 ints, and 4 bytes of padding.
>>
>>58960756

Program I am trying to use can only be run on Windows. Doesn't work in Wine.
>>
>>58960816
Is there a question?
>>
File: 2.jpg (114KB, 970x880px) Image search: [Google]
2.jpg
114KB, 970x880px
>>58959686
If you show panties we can find out.
>>
>tfw anime helped you solve something you've been trying to do for 3 hours
god bless anime
>>
>>58956980
I'm not the person you're replying to, however Rust isn't really complex. It's far less complex than Javascript for example, where you have tons of workarounds and undefined behavior.

Rust is just strict, it forces you to use good practices, and contrary to what other people said, it doesn't really bloat your code, actually it's the other way around, there is no garbage collection so your code is pretty clean.

But then again, i don't post on /g/ much and i'm not sure if you guys are talking "for teh lulzXDDDDDD" or if you actually believe those affirmations.
>>
>>58960939
>god bless anime
amen
>>
>>58960939
what problem was it senpai?
>>
>>58958216
Ima redy codo mi cc nao cuz da tutor appeara.
>>
>>58960950
parsing comments in my anime "markup language" i guess
>>
>there are people in this thread that don't know how to program a new OS completely from scratch in raw assembly
>>
>>58961048
>people
>>
>>58961048

>there are people who can't go outside and get laid
>>
>>58961070
>he thinks outside actually exists
>>
File: rust-move-copy-borrow.png (169KB, 990x1401px) Image search: [Google]
rust-move-copy-borrow.png
169KB, 990x1401px
Are there any other images that explain programming concepts?
>>
>>58961094
Rust programming mechanics are not valid software engineering tools.
>>
File: category theory.png (7KB, 397x150px) Image search: [Google]
category theory.png
7KB, 397x150px
>>58961094
>>
>>58961094
> Cannot use a anymore
Wew
>>
Daily reminder that assemblyfags are legitimately autistic.
>>
>>58961094
glorified static analyzer
>>
>>58955696
>What are you working on, /g/?

Deer Bro Answer Displayer

>>>/fit/40386101

function lastDigit(n) { return parseInt(n.toString().match(/(.)$/)[0]); }

var answers = [
"ROLL AGAIN",
"YES",
"NO",
"DOESN'T MATTER",
"CHILL, BRO",
"TOO FAT",
"YES, BUT...",
"NEVER",
"100%",
"1 IN 100"
];

$('.postNum.desktop a + a').each(function(i, el) {
$(el)
.parents('.postContainer')
.find('.postMessage')
.after("<h2>"+answers[lastDigit(el.innerText)]+"</h2>");
});


>Also, post your programming environment!

http://spacemacs.org/
>>
>>58961114
>>58961121
>>58961122
>>58961160
/dpt/ really is easily triggered
>>
>>58961203
what? you asked for a pic
>>
>>58961216
oops yeah, excluding you
>>
File: 1476811327277.jpg (38KB, 640x480px) Image search: [Google]
1476811327277.jpg
38KB, 640x480px
>>58961234
>:(
i dont want to be friends with you anymore
>>
>>58959327
https://www.youtube.com/watch?v=QliQ0livbeQ
>>
>>58959327
https://www.youtube.com/watch?v=-UzEHKyUZp4
xd
>>
>>58961243
>>
>>58961181
>depends on jquery
really?
>>
>>58960122
hm. Nope. No clue.
Anyone else maybe?
>>
>>58958074
what is this sexy color scheme
>>
>>58961326
yes, really. fuck writing all that dom traversal code manually.
>>
>>58955705
Python is good for scripting tho
>>
what dragon dildo should i buy?
>>
>>58961698
The biggest one.
>>
>>58961502
senpai...
var elements = document.querySelectorAll('.postNum.desktop a + a') 
Array.prototype.forEach.call(elements, function(el, i) {
el
.parentNode
.parentNode
.parentNode
.parentNode
.parentNode
.querySelector('.postMessage')
.insertAdjacentHTML('afterend', "<h2>"+answers[lastDigit(el.innerText)]+"</h2>");
});
>>
If I had a more complex program, would doing something like this be dangerous?
#include <stdio.h>

int main()
{
char *s = "Hello";
printf("%s\n", s);
s = "doggiespuppies";
printf("%s\n", s);

return 0;
}


At first s has a space in memory for 6 chars (6th is for delimiter?), but then reassigning it to something bigger could potentially overwrite whatever else was sitting in memory next to s. Is my thinking correct?
>>
>>58961951
Potentially
Does that even compile?
>>
>>58961951
No, those strings will be constantly laid in the program. When the program executes the pointer will point to the data in the program, no actual memory is allocated.
>>
>>58961951
it's completely fine as the string length is encoded in itself.
>>
>>58962213
to reiterate, *s is just an automatic lifetime stack allocated pointer to either of the 2 strings stored in the .text section of the binary.
>>
>>58962258
I meant .data instead of .text (which is for instructions and has execution privileges, while .data and .bss are read-only)
>>
>>58961951
>>58962292
if you for example did char s[] = "a"; memcpy(s, "aa", 3); you'd have a problem.
>>
File: William_James_Sidis_1914.jpg (46KB, 413x541px) Image search: [Google]
William_James_Sidis_1914.jpg
46KB, 413x541px
Why didn't you major in Mathematics at the age of 11? I thought /dpt/ was smart
>>
>>58961951
There is stack, heap, and global data sections. String literals and all other global constants go in global. S is just a pointer in the stack pointing to global data.
>>
>>58962347
>major in Mathematics at the age of 11
brainlet

6 years old master race
>>
how I can put my shit online?
>>
>>58960016
>There are more strict definitions than others.
IOW, some dumb faggots are wrong on the internet. Call the waaahmbluance!

Programming languages are tools used by people for telling computers what to do, typically in a way that can be stored and then repeated again in the future. They don't have to be compiled. They don't have to be textual.
>>
>>58962531
if you mean a web application: aws, azure
if you mean native or scripted software: try github
>>
#include <stddef.h> // size_t, offsetof()
#include <stdio.h> // printf()
#include <stdlib.h> // EXIT_SUCCESS, EXIT_FAILURE

static const struct record {
int a;
int b;
} buffer[3];

int main()
{
/*
* Compute the address of the field 'b' in buffer[2].
*/

static const char * const base = (char *)buffer;
static const size_t index = 2, scale = sizeof(struct record),
disp = offsetof(struct record, b);

// The magic happens here.
const char *addr = base + index * scale + disp;

static const char *format = "base: %p\n"
"index: %zu\n"
"scale: %zu\n"
"disp: %zu\n"
"addr: %p\n";
printf(format, base, index, scale, disp, addr);

return (const int *)addr == &buffer[index].b ? EXIT_SUCCESS
: EXIT_FAILURE;
}


I wrote a tutorial on x86 addressing.
>>
>>58961787
Hmm. That's not so bad. The DOM API didn't used to have all these selector based functions.
>>
New to programming.

How would I go about making a method to solve a 2D array maze?

I'm using Java
>>
>>58962654
I'm detecting a homework problem...
>>
>>58962654
>I'm using Java
Tragic
>>
>>58962669
nothing wrong about domain intelligence gathering
>>
>>58962669
You'd be right. I'm learning stuff at my own pace and these fucking assignments throw me off bad. They make me feel hopeless
>>
>>58962681
I'm learning Java in school and doing a C# course online. Java truly annoys me
>>
>>58962692
At least you admit it. It's very simple, as long as there are no cycles on the maze, just look to the right hand rule for mazes.
>>
>>58962692
i don't think that's something you're even supposed to, or should, try to figure out on your own.

there are lot of algorithmic maze nerds online who have spend far too much time thinking about this. google "maze solving algorithm" or go to:
https://en.wikipedia.org/wiki/Maze_solving_algorithm
and implement the simplest one sufficient for your problem domain. hope this helps
>>
>>58962717
Sounds simple enough. The issue here is that, for some reason, my professor gave us a skeleton of the code we are to use and she doesn't allow us to really make changes to the constructors and instance fields already created. It's really kinda shitty. CS program at my school is so bad at my uni that students average 7 years for bachelors and most upper level courses go weeks without having a professor
>>
>>58962753
that fucking blows
>>
New thread:
>>58962817
>>58962817
>>58962817
>>
>>58962612
How's progress?
>>
File: 1408268705522.jpg (80KB, 1280x720px) Image search: [Google]
1408268705522.jpg
80KB, 1280x720px
>>58959980
>pajeets who are BTFOing
>he does not know the term "indian finished"
>>
>>58959778
It's not possible in typed lambda calculus, retard
>>
Is there any way to return a variable value back to another function without adding it in the parameters. Basically, I'm asking how does return work.
>>
>>58962564
I agree with you, but your tone is cringe-tier
Thread posts: 327
Thread images: 38


[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.