[–]▶ No.952400>>952421 >>952449 >>952462 >>952533 >>952580 >>952598 >>952676 >>953463 >>986063 >>986110 >>994008 >>998633 >>1040609 [Watch Thread][Show All Posts]
If Lisp is so good, how come nobody has even made a text editor with it? No, Emacs doesn't count, it's not pure lisp. Neither does DrRacket, you need to install entire Racket language for it. Same applies to Edwin which requires installing Scheme to use it. Climacs neither, there are no binaries, it apparently doesn't even work and is basically just a joke. Zmacs is 1980's history, no binaries, no source, can't verify anything, so no.
Requirements in plain English are on picture there, and those requirements translate basically just to "make a usable open-source desktop application that can be distributed like any other desktop application", no miracles required.
Previous thread: >>923254
Its archive: http://archive.is/mnbNo
▶ No.952411>>952416 >>952601 >>952747
You don't need to install entire Racket. Read the docs dumbass. That's like saying you need GCC to run a C program. Of course you do, dumbass.
▶ No.952416>>952418 >>952428
>>952411
Let the great kvetching begin!
▶ No.952418>>952493
>>952416
https://docs.racket-lang.org/raco/
Now kill yourself, and go back to /g/, winshill.
▶ No.952421>>952424 >>952437 >>952461 >>952493 >>952589 >>1038487
>>952400 (OP)
>If Lisp is so good, how come nobody has even made a text editor with it?
Because creating yet another text editor is a fucking waste of time. Every idiot can make text editor in Lisp, pic related is the proof. I've only read first chapter of SICP along with some pages of racket documentation and managed to create a working text editor. To be honest, it was the one of the most pleasant GUI development experiences I've ever had.
▶ No.952424
>>952421
If you have some spare time give CL's native GUI, McClIM a spin. It's a recreation of Genera's toolkit and a pure joy to use.
▶ No.952428>>952432 >>952493
>>952416
Wow. You need an interpreter to interpret a language. How shocking.
▶ No.952432>>952437
>>952428
It's a fucking compiler also. It's like he's arguing that to run a C program you need to download a compiler.
▶ No.952435>>952493
Is clojure an accepted language for this challenge ?
▶ No.952437>>952443 >>986110
>>952421
import textEditor
textEditor.run()
>>952432
It's like the opposite.
▶ No.952443>>952447 >>952455
>>952437
Yes, keep moving the goalposts. This is racket's standard library. Do you want me to write a GUI toolkit from scratch? But why stop there, should I also rewrite Xorg in lisp? While I'm at it why not also rewrite the whole userspace and the kernel? Oh so now the BIOS is not written in lisp, let me also rewrite that. What is this? Firmware of NIC is written in lisp? And what is this? A LCD controller with firmware written in C? Hahaha lispfags can't even write text editor in pure lisp. I bet you would still complain that electricity from power grid uses PLCs and other hardware that has firmware written in C or something. Then you would complain that trucks used to deliver the hardware also run C in their ECUs. Every GUI toolkit has some sort of text-editor widget, look at Qt or GTK. Editing text is a common task and reimplementing widget from scratch every time is counterproductive. Do you think notepad doesn't use a widget of whatever toolkit windows uses to enable text editing?
▶ No.952447>>952455
>>952443
can we end these fucking threads now?
▶ No.952449>>952491 >>952493
>>952400 (OP)
Oh my God you're even spamming your threads to halfchan.
Imagine being so assblasted by LispMfag shitting on Unix that you go on a months-long autistic meltdown about a meme language
▶ No.952454>>986196
▶ No.952455>>952456 >>952491 >>952493 >>986110
>>952443
>moving the goalposts blah blah blah
The challenge has been clear for 100s of posts now.
>>952447
>11 posts in
>shut it down
what a gommunity
▶ No.952456
>>952455
>le jew ecks dee
>>>/cliff/
▶ No.952461
>>952421
>shalompad
gas.png
▶ No.952462>>952493
>>952400 (OP)
>[autistic screeching]
▶ No.952464
>ask question expecting to not get answer
>get answer
UH WHAT I MEANT IS HOW COME THERE ISN'T AN iOS APP FOR IT
▶ No.952491
>>952449
He might just be the most pathetic poster this board has ever seen.
>>952455
pic related
▶ No.952493>>952495 >>952496 >>953467 >>986110
>>952418
What part of "executable binary providing usable editor must be provided" you don't understand?
>>952421
Now all you need to do is provide sources and binary so people can use it.
>>952428
It is when it has been time and time again been said that you must provide executable binary. Shocking because lispfags are demonstrably not only utterly incompetent, but likely don't even understand what executable binary is.
>>952435
No. It needing JRE to run unfortunately doesn't fill requirements for rule one.
>>952449
Oh, why aren't you rejoicing that more and more people learn of wonderful, smart and very competent lisp community whose super language accomplishes pleb challenges like this easier than any other language? Oh wait...
>>952455
Nope, it's not.
>>952462
Try stronger medication, it might help.
▶ No.952495
▶ No.952496>>952498 >>952528 >>952534 >>952539 >>952553 >>952563 >>952581 >>952584 >>958895 >>960811 >>984955 >>985053
>>952493
>Now all you need to do is provide sources and binary so people can use it.
Here you go:
#lang racket/gui
(define frame (new frame% [label "Shalompad - Ver 0.1 (OP is a faggot)"] [width 640] [height 480]))
(define editor-canvas (new editor-canvas%
(parent frame)
(label "Editor Canvas")))
(define text (new text%))
(send editor-canvas set-editor text)
(define menu-bar (new menu-bar%
(parent frame)))
(define file-menu (new menu%
(label "&File")
(parent menu-bar)))
(define edit-menu (new menu%
(label "&Edit")
(parent menu-bar)))
(define search-menu (new menu%
(label "&Search")
(parent menu-bar)))
(define help-menu (new menu%
(label "&Help")
(parent menu-bar)))
(new menu-item%
(label "Open")
(parent file-menu)
(callback (lambda (item event)
(define file (get-file))
(if file
(let ()
(define in (open-input-file file))
(send text insert (port->string in))
(close-input-port in))
#f))))
(new menu-item%
(label "Save As...")
(parent file-menu)
(callback (lambda (item event)
(define file (put-file))
(if file
(let ()
(define out (open-output-file file #:mode 'binary #:exists 'replace))
(display (send text get-text) out)
(close-output-port out))
#f
))))
(new separator-menu-item% (parent file-menu))
(new menu-item%
(label "Oy Vey, shut it down!")
(parent file-menu)
(callback (lambda (item event)
(exit)
)))
(send frame show #t)
Linux binary:
https://a.cockfile.com/MR0OcP.
SHA1 sum: 7536a1c8b14102be7aeb8a09e3448a6bdd1d92ad
Or compile with "raco exe --gui filename.rkt" if you think I put something harmful in the binary.
Now off to >>>/g/ you go.
▶ No.952498
>>952496
you are a terrorized member of the lisp computer-god memefaggotry
▶ No.952509>>952512 >>952514
Good lord why do you people fight over programming languages of all things? This is the equivalent of fighting over construction tools
Programming languages are just tools, nothing else
▶ No.952512
>>952509
>not fighting over tools
faggot, there are clear differences in quality between tools
▶ No.952514>>952528
>>952509
No one (hopefully) takes this seriously, we're just having fun.
>This is the equivalent of fighting over construction tools
I bet he bought his angle grinder at harbor freight.
▶ No.952528
>>952514
>He probably buys Festool which is only marginally better constructed at trice the price.
Also good on >>952496 for delivering.
▶ No.952534
>>952496
(define search-menu (new menu%
(label "&Search")
(parent menu-bar)))
(define help-menu (new menu%
(label "&Help")
(parent menu-bar)))
Is this a reverse troll? You tricking the LARPers?
▶ No.952539>>952542
▶ No.952542>>952543
>>952539
Does Java need a binary to run on Linux (or Windows/Mac), other than the JRE?
▶ No.952543>>952547
>>952542
>other than the JRE
That's a pretty big "other than". Somehow even .NET on Linux requires less.
▶ No.952545
Why is everything to do with lisp so Jewish?
▶ No.952547>>952548 >>952550 >>994049
>>952543
Doesn't matter. Tons of android phones run Java stuff. If it fits on a phone, it will run on a desktop.
▶ No.952548>>952551
>>952547
>who cares about bloat XD
▶ No.952550>>952552
>>952547
>Tons of android phones run Java
You sound like Oracle. In the real world, almost nothing on your desktop is in Java despite 20+ years of Java, and Java on Android is considered to be a tragic mistake. Apple avoided lagdroid's garbage collection stutter with Swift, and Google is trying to develop an Android replacement which will only have Java for backwards compatibility.
▶ No.952551
>>952548
Everything is already bloated. I used to run Slackware with kernel 1.2.8 on a 486 with 4 megs ram. Not possible anymore with modern kernel and hardware. I could even run a slim X11 setup called TinyX on that computer. Granted, I couldn't run heavy clients, but it was enough for twm, rclock, and a few rxvts, and even Mosaic.
▶ No.952552>>952555
>>952550
So what? You don't have a problem running bloated GUI programs, if you're an average Linux user. So a JRE or other runtime isn't going to mean jack in the overall footprint of your OS.
▶ No.952553>>952554 >>952561 >>952691 >>958895 >>986110
>>952496
So I compiled this on Windows. It took 10 seconds despite being just a few lines of code, and the executable is a massive 13 megs. It looks like it bundled the entire racket interpreter in the executable. If I run strings on the executable, it clearly contains the racket interpreter (all these commandline options can't actually be used, it's showing their method of making a "stand-alone" executable is just shipping the whole runtime with the code and using the exe like a zip file).
%sgracket [<option> ...] <argument> ...
File and expression options:
-e <exprs>, --eval <exprs> : Evaluate <exprs>, prints results
-f <file>, --load <file> : Like -e '(load "<file>")' without printing
-t <file>, --require <file> : Like -e '(require (file "<file>"))' [*]
-l <path>, --lib <path> : Like -e '(require (lib "<path>"))' [*]
SBCL does the same bullshit. What a joke.
▶ No.952554>>952556
>>952553
You might as well try to compile Perl programs. It wasn't designed for making binaries.
▶ No.952555>>952557 >>962995
>>952552
Apparently it does mean jack as there are so few Java programs on the desktop. That's some real-world objective proof to counter your bullshit. Java programs are also difficult to distribute, much like lisp.
▶ No.952556>>952558 >>986110
>>952554
Maybe that's why perl is a dead language.
▶ No.952557>>952560
>>952555
Not really, since a Java program can be bundled with what libraries it needs. All you have to install is the JRE, via your package manager.
▶ No.952558>>952560
>>952556
It's not any different with Python and Ruby. They're VM languages.
▶ No.952560>>952570
>>952557
Have you ever tried to make standard packages for Windows, Linux, and Mac for a Java program that work just like any other package for that platform, to the point the user is unaware that your program is in Java? Try it. That's why Java failed on the desktop.
>>952558
Okay, and how many cross-platform desktop apps are you using written in python or ruby? Like lisp and Java they also have deployment issues which is why they got pigeon-holed as web and scripting languages despite being designed as "general-purpose".
Meanwhile, I can write C++ code for literally anything and know that it will run and work the way the user is accustomed to and not force them to do things any different.
▶ No.952561>>952563
>>952553
That is true. As seen in the racket docs.
Homever, you can compile Racket into C and get smaller binaries, if you are able to read documentation and use a search engine (which you've proven to be unable to do).
Anyways, the simple text editor is done, you have a binary that runs across systems, so shut the fuck up and go back to /g/.
▶ No.952563>>952564
>>952561
>if you are able to read documentation and use a search engine
How about you just provide a proper fucking executable rather than continue to make excuses? I ran the exact command as given in >>952496
▶ No.952564>>952565
>>952563
It's a proper fucking executable, retard. It runs everywhere, and runs exactly like intended.
▶ No.952565>>952568
>>952564
>proper executable
>it's an executable zip file with the entire interpreter included
wew
▶ No.952568>>952574
>>952565
everything that was asked is done, so stfu and go back to leddit
▶ No.952570>>953423
>>952560
I've come across plenty of games and emulator front-ends made in Java, so apparently it's useful enough to work on Windows/Linux/Mac desktops. Here's a few I happened to like:
http://flapp.sourceforge.net/
http://crossfire.real-time.com/
http://sourceforge.net/projects/jflagcap/
▶ No.952574>>952582
>>952568
Yeah, you met the requirements in the most pajeet way possible by bundling the whole interpreter rather than compile it.
▶ No.952580>>958895 >>986198
>>952400 (OP)
>Zmacs is 1980's history, no binaries, no source, can't verify anything, so no.
I have the source. You could look up a video of it though.
▶ No.952581>>952604 >>964584 >>964670 >>986110
>>952496
>binary 404'd
>save source code
>install racket to get the compiler
>compile
>run
>works
>uninstall racket
>stops working as soon as you uninstall racket
It was stated pretty clearly in OP that it doesn't count if you need to install the entire language just to run the executable.
▶ No.952582>>952599
>>952574
if you were using a Scheme machine he could've given you a binary that uses the local Scheme runtime, same as a bare C binary would do.
▶ No.952584>>952602 >>952610
>>952496
>binary 404
<command bundles the whole goddamn interpreter in it
I can't take a language that can only produce 32 MB "Hello world" executables seriously.
▶ No.952589>>960754
>>952421
> I've only read first chapter of SICP
Stop shilling that overrated piece of garbage.
▶ No.952598
>>952400 (OP)
I fucking love these threads, please keep going at it sweet Kizuna.
▶ No.952599
>>952582
Good to know that it'd have worked were we living in an alternate universe.
▶ No.952601
>>952411
>That's like saying you need GCC to run a C program.
But you don't. Once you've compiled it and created an executable binary, you can uninstall gcc and your program will still work.
▶ No.952602>>952605
>>952584
well....
tbh I can't either.
abandon your lisp fetishism and take up ML.
apart from being too cowardly to become an American, he was pretty cool: https://en.wikipedia.org/wiki/Robin_Milner
▶ No.952604>>985053
>>952581
I forgot to mention that you have to also use "raco distribute" in the build process to make it portable https://docs.racket-lang.org/raco/exe-dist.html
To my defense It's the first time I've used racket to make something with it.
▶ No.952605
>>952602
ML-based languages are really nice, variant types in OCaml for example are the one thing I really miss when writing Haskell.
There is nothing cowardly, however, in not becoming an American, since it's impossible in the first place. Actual Americans are almost extinct.
▶ No.952610>>952614 >>958895
>>952584
Notice the "#lang racket/gui" line. There is a whole GUI toolkit included in that executable. Hello world would only take about 1M with base language only which could be brought down even more to about 300K.
▶ No.952611>>952615 >>952628 >>952632
Is there something about lisp that makes it impossible to compile for real? It seems like all the "compilers" we've seen just bundle the whole intetpreter. What aspect of the language is crippling it?
▶ No.952614>>952624
>>952610
A win32 or GTK Hello, World text widget would be under 10k, and almost all of that would be ELF and PE header bloat. Compiled more carefully, could get it down to 1k.
▶ No.952615
>>952611
>What aspect of the language is crippling it?
The programmers.
▶ No.952624>>952629 >>952630
>>952614
1k is a lot for just "hello world". Some computers in the 80's came with only 1k memory stock.
▶ No.952628>>993813
>>952611
Well when a program crashes you enter the debugger and from there you can eval anything, so that means you need to bundle all of common lisp too. Most people bundle a bloated interpreter though. A basic ECL binary is only like 13 KiB. Proprietary implementations have proper tools for making small binaries that free ones do not offer.
▶ No.952629>>952659
>>952624
and 40 years have passed since. we should aspire to move forward and innovate instead of getting stuck in the past.
40 years until kernels written in javascript
▶ No.952630>>954700
>>952624
I know, I used to do 1k intros for DOS complete with a limited s3m player. If you look at the text segment it'd be like 100 bytes most of which is 64 bit bloat (never test errors with == -1, by the way). The rest is one-time setup for various modern bullshit that is hard to remove via compiler options. Thread-local support, mmapped stringtable hash, etc..
▶ No.952632>>986179 >>986182
>>952611
I'm not a lispfag, but I feel like playing devil's advocate right now.
Due to its intrinsic dynamic properties, like dynamic typing, macros, symbolic evaluation and being able to treat code itself as data and vice versa, Lisp basically requires an highly capable runtime environment to actually do all of those things. The same can be said, to a lesser extent, for Python.
It's not about being "high level": Haskell and ML can be compiled without issues to native code that doesn't need an additional runtime to be executed, just like C can. Even Java can be easily compiled to native code that doesn't need the JVM to run if you use a compiler such as GCJ, although that kinda defeats the point of using Java. It's still quite interesting to do, though, and the performance is surprisingly good, although not on par with C++ or C.
Notice one thing all these languages have in common: they feature a *static* type system.
This is by far the most important kind of information to give to the compiler. By knowing what kind of data functions take in, what they return and having all operations among types unambiguously defined, the compiler can easily generate code that assumes some properties about the data it manipulates (Integers of a certain size? Strings? Lists?) without needing to check at runtime if those operations are permitted, since static analysis has guaranteed that function f will receive, say, an integer and a string every time it is invoked. You can't do the same with dynamic typing.
The often mentioned property about static typing catching compile-time type errors is really just a happy side effect, it's not, in my opinion, the most important thing about it.
Now, theoretically, even highly dynamic (not only with respect to typing) languages like the Lisps could theoretically be compiled down to a standalone binary, but it would pretty much require a massive amount of additional code you didn't write yourself to support its full functionality. And often, the easiest solution is to just bundle the interpreter with it.
▶ No.952659
▶ No.952676
>>952400 (OP)
>If Lisp is so good, how come nobody has even made a text editor with it?
Probably because Lisp is a commie language.
▶ No.952691>>952695 >>952698 >>952777 >>954643 >>958895 >>993978
>>952553
Nobody cares about binary sizes in 2018 when the average hard drive has 500 gigs or more, anon. This isn't the 70s anymore.
▶ No.952695>>952699
>>952691
The problem is that the program isn't doing anything fundamentally different from what it did back in the 70s, but it has a way higher binary size for no good reason.
▶ No.952698>>952699
>>952691
I've got over a thousand executables in my bin directories of a basic Debian install. After doing "raco distribute", the racket text editor is 27M. If everything was made this way with racket, you'd make a basic Debian install weigh in at 30 gigs. I don't think people would be pleased, especially the cloud guys who pay per gigabyte. That you see nothing wrong with bloat this extreme is why people make fun of lispfags and why no one writes anything in it.
▶ No.952699
>>952698
>>952695
protip: If you assume the Racket interpreter is installed as a prerequisite, then there is no need to statically link the interpreter into the program. If you remove that assumption away, then your Racket program will need to bundle the interpreter functions by default
▶ No.952747>>952792
>>952411
Yeah sure so when I call eval in racket the whole thing just explodes? O wait it actual bundles all of fucking racket into the executable. When you run a c program it sure as fuck does not include gcc in the bundle.
▶ No.952777
>>952691
Holy shit, lispfags are now on the same level as webdevs.
▶ No.952792>>952796
>>952747
When you run a C program, the standard C library is preinstalled on your system to make it work.
▶ No.952796>>952801
>>952792
Dynamic linking has nothing to do with requiring a compiler for basic runtime functionality.
▶ No.952801>>952810
>>952796
Runtime interpretation is not an inherent property of any programming language, it is an implementation detail. There's no theoretical reason why a Racket program cannot be translated into machine code. It doesn't happen because nobody has made an implementation to make it work that way.
▶ No.952809>>952810 >>952837 >>962769
I don't get OP's binary obsession. People don't wail and scream that python isn't compiled. Why would one do the same about scheme? Most scheme implementations aren't compiled, they're interpreted. Even the ones that can be compiled come with an interpreter.
▶ No.952810>>952817 >>986110
>>952801
> it is an implementation detail.
There is no theoretical reason brainfuck cant beat out a highly tuned c or assembly program.
>It doesn't happen because nobody has made an implementation to make it work that way.
Well mr lispfag come back when you get that magical sufficiently advanced compiler that will never exist for non trivial use cases.
>>952809
>People don't wail and scream that python isn't compiled.
Yes they do. It being a slow as fuck global interpreter lock piece of shit is one of the primary complaints.
>Most scheme implementations aren't compiled, they're interpreted
Only the bad ones are interpreted. Chez is godly.
▶ No.952817>>952818
>>952810
I though Chez decided on jit compilation or I terpretation depending g on which would be faster?
▶ No.952818
>>952817
Yes Chez is amazing
▶ No.952826>>952827 >>952830
you have 10 minutes to convince me to use a lisp dialect over rust. i'm a beginner programmer, i can make a text based adventure and maybe a gtk-based calculator. rust has done pretty well for me and looking at C or C++ they look more complicated even with small programs. will *lisp make my life easier? how and why?
▶ No.952827
>>952826
You will waste your life implementing new lisps inside lisp and never actually write a program.
▶ No.952830>>952831 >>958895
>>952826
>i'm a beginner programmer
>rust
I see the Klabnik's propaganda is working splendidly. Lisp is the language for the beginner programmer. Syntax is very minimal and very easy to learn which means you won't be wasting time figuring out what all of the
impl<T> AsRef<T> system.sjwlib::out>>faggot->OP.is()
means, without having a slight idea about reasons behind those abstractions and data structures you're trying to use. Rust is probably the worst possible language for a beginner.
▶ No.952831>>952832 >>952838
>>952830
could you give me some examples on why?
▶ No.952832>>952833
>>952831
op thinks that having less syntax makes it easier instead of just making it impossible to tell anything apart
▶ No.952833>>952834
>>952832
efficiency at the expense of readability?
▶ No.952834
▶ No.952837>>987548
>>952809
The thing is that Python users rarely if ever go around boasting about their favorite language's superiority, unlike lispfags. Not to mention that, unlike Lisp, there is quite a lot of useful software out there written entirely in Python.
▶ No.952838>>952841 >>952851 >>954097
>>952831
Let's take a basic example of implementing newton's method of calculating square roots. In lisp, when you start learning you would do something similar to
(define (sqrt-iter guess x)
(if (good-enough? guess x)
guess
(sqrt-iter (improve guess x)
x)))
(define (improve guess x)
(average guess (/ x guess)))
(define (square n)
(* n n))
(define (good-enough? guess x)
(< (abs (- (square guess) x)) 0.001))
(define (average x y)
(/ (+ x y) 2))
(define (sqrt n)
(sqrt-iter 1.0 n))
Now if you take same problem and apply Rust you will get a mess of code that even author himself does not completely understand what exactly it does.
...
/// Safe solver hybidizes iterative method to ensure convergence.
///
/// Do not use this!
///
/// The code is both messy and untrustworthy. I had to tighten to convergence
/// criteria to get expected results, for reasons I don't yet understand.
///
pub fn safe_iterative_root_find<F, I, C>(
f: &F,
iterate: &I,
bounds: &Bounds,
finish: &C,
max_iter: usize,
) -> Result<f64, RootError>
where
F: RealFnEval,
I: Fn(&F, f64, f64) -> Result<f64, RootError>,
C: IsConverged,
{
// solver always kept in window
let mut window = bounds.clone();
let mut f_a = f.eval_f(window.a);
assert!(is_sign_change(f_a, f.eval_f(window.b)));
... What follows is several lines of rust mess that nobody understands.
I actually couldn't find a simple implementation of that algorithm, closest to it would be something like (not actually what I wanted and uses external module)
extern crate num;
use num::FromPrimitive;
use num::bigint::BigInt;
use num::rational::{Ratio, BigRational};
fn approx_sqrt(number: u64, iterations: usize) -> BigRational {
let start: Ratio<BigInt> = Ratio::from_integer(FromPrimitive::from_u64(number).unwrap());
let mut approx = start.clone();
for _ in 0..iterations {
approx = (&approx + (&start / &approx)) /
Ratio::from_integer(FromPrimitive::from_u64(2).unwrap());
}
approx
}
fn main() {
println!("{}", approx_sqrt(10, 4)); // prints 4057691201/1283082416
}
I therefore invite all rust code artisans to create simple implementation of Newton's algorithm for finding square roots that a beginner could understand.
▶ No.952841>>952842
>>952838
>lispfag trying to slide by turning this into an anti-rust thread
▶ No.952842>>952912
>>952841
hes not fucking wrong though holy shit
i really thought on settling down on some c-like language but clisp looks great rn
▶ No.952847>>952859 >>952861 >>958895
It's amusing. OP's threads trying to shit on lisp has only convinced me to work through SICP and learn scheme. Decided to go with gambit-c.
▶ No.952851>>952854 >>954883
>>952838
>Compares Lisp to two examples of code that are not actually the same thing as evidence
▶ No.952853
>unix.haters autist has single-handedly turned the whole board against lisp
What are some ironic moments in tech history?
▶ No.952854>>952855 >>952860 >>958895
>>952851
I know that your but hurts a bit already, but please prove us wrong by providing a mentioned algorithm written in the "correct way" so that we can make a proper comparison and determine what is best for a beginner. I honestly can't find a simple example on the internet.
▶ No.952855
>>952854
Hey lispfag I hate Rust. I'm just making sure you know your place.
▶ No.952859
>>952847
You must be a special kind of retard then.
▶ No.952860>>952872 >>986110
>>952854
The thing is that, just like other memelangs, Lisp looks pretty in these toy examples, but it's proven incapable of making actual software.
▶ No.952861>>952873
>>952847
Don't bother, the last exercise is literally
<lmao just use c for this, we were joking the whole book
▶ No.952872>>952882 >>952885 >>952910 >>958895
>>952860
>but it's proven incapable of making actual software
I think that is just a result of years of programming in AGOL descendants. But your claims are invalid anyways. Lisp is used for making actual software: https://en.wikipedia.org/wiki/ITA_Software Autocad uses it, Maxima, a ton of EDA software relies on lisp...
The main problem with lisp is:
>Imagine adding object orientation to the C and Scheme programming languages. Making Scheme object-oriented is a sophomore homework assignment. On the other hand, adding object orientation to C requires the programming chops of Bjarne Stroustrup.
>The consequences of this divergence in needed talent and effort cause The Lisp Curse:
>Lisp is so powerful that problems which are technical issues in other programming languages are social issues in Lisp.
▶ No.952873
>>952861
Lol. I'm sure it's worth it. They say it's worth learning lisp even if you never actually use it again. I've done some reading about it here and there and I believe it.
▶ No.952882>>952890
>>952872
>Lisp is used for making actual software...
>Autocad uses it
LOL. Autocad uses it as an optional user facing scripting interface. It's not like the program is written in it.
>The main problem with lisp is ... that lisp is just too great thats why its not used for anything
yeah faggot its such an amazing language its impossible to write anything real in it
▶ No.952885>>952890
>>952872
>Imagine adding object orientation to the C and Scheme programming languages. Making Scheme object-oriented is a sophomore homework assignment. On the other hand, adding object orientation to C requires the programming chops of Bjarne Stroustrup.
Borderline retarded quote, making C OO is piss easy unless you're mentally deficient.
▶ No.952890
>>952882
>uses lisp to write complex ticket pricing system for airlines
>sells the company to google for $700M
>reeeeeeee, you can't use lisp to write real software
>>952885
>look mom I learned how to use structs
>we OOP now
Tell me again how can I implicitly pass self reference to the class methods?
▶ No.952910>>952944
>>952872
>Lisp is used for making actual software
Have you made a GUI app with Lisp? Have you made utility scripts with Lisp? Do you use Lisp every day, every week?
And no ricing emacs does not count.
▶ No.952912>>952918 >>952924 >>952944
>>952842
You'll almost always get a desk calc example from a lispfag or lisp book as it's one of the only examples they can give that isn't obviously a disaster in lisp.
Here's setting O_NONBLOCK on a fd in lisp, from Woo:
(defun set-fd-nonblock (fd enabled)
(declare (optimize (speed 3) (safety 0)))
(let ((current-flags (%fcntl/noarg fd F-GETFL)))
(declare (type fixnum current-flags))
(if (< current-flags 0)
-1
(let ((new-flags
(if enabled
(logxor current-flags O-NONBLOCK)
(logand current-flags (lognot O-NONBLOCK)))))
(declare (type fixnum new-flags))
(if (= new-flags current-flags)
(%fcntl/int fd F-SETFL new-flags)
0)))))
Here's that in C:
fcntl(fd, F_SETFL, fcntl(fd, F_GETFL) | O_NONBLOCK);
lisp is a meme.
▶ No.952918>>952921 >>952924
>>952912
Thats a retarded comparison. You can do same thing as in C in Scheme.
(fcntl fd F_SETFL (logior O_NONBLOCK
(fcntl fd F_GETFL)))
▶ No.952921>>952922 >>952924
>>952918
Is the solution to each lisp problem to change lisp dialect?
▶ No.952922>>952923
>>952921
how is it a change of lisp dialect? it's just normal lisp functional syntax
▶ No.952923>>952930
>>952922
Is scheme common lisp?
▶ No.952924>>952927
>>952921
Obviously not. First of all lisp example in >>952912 is _not_ functionally equivalent to C example. Secondly, you can just replace "fcntl" in >>952918 with "%fcntl/noarg" or whatever syscall interface your CL distribution implements.
▶ No.952927
>>952924
int set_fd_nonblock(int fd, int enabled) {
return fcntl(fd, F_SETFL, (fcntl(fd, F_GETFL) & ~O_NONBLOCK) | (enabled ? O_NONBLOCK : 0));
}
Happy?
▶ No.952930
▶ No.952944
>>952910
> Have you made a GUI app with Lisp?
I have made a small GUI app for my own use with Racket once. That said, I don't make GUI apps generally.
> Have you made utility scripts with Lisp?
Yes. Racket has a decent set of libraries, not as many as Python, but for processing JSON and turning it into something that can be passed on it's perfectly adequate.
> Do you use Lisp every day, every week?
No, but there is no single language I use every day, I will be stuck for a time with one particular language, then I'll have to juggle languages around on some days.
>>952912
Are you seriously comparing calling a pre-existing function with defining a new function?
▶ No.953145
How's your school break? Yeah, it's probably over by now.
Your homework's not gonna do itself.
▶ No.953404>>960106
Bump because this thread produces lulz
▶ No.953423>>953536
>>952570
>JaFL.bat
>java -jar flands.jar
Yeah, that's not a native binary.
>Crossfire
>client.c
>gtk2, written in c
>c files everywhere
Whoops, thats not Java!
As for the Jxclient, thats distributed as a jar alone.
>jflagcap
>launcher.c
>server.c
I'm assuming that's how they made the windows .exe for it.
Also
[code]
#include <windows.h> // Mmmm.
int main( int argc, char *argv[] )
{
SHELLEXECUTEINFO ExecuteInfo;
memset(&ExecuteInfo, 0, sizeof(ExecuteInfo));
ExecuteInfo.cbSize = sizeof(ExecuteInfo);
ExecuteInfo.lpVerb = "open";
ExecuteInfo.lpFile = "jre\\bin\\java.exe";
ExecuteInfo.lpParameters = "-jar JFlagCap.jar";
ExecuteInfo.nShow = SW_HIDE; // No dos box anymore!
if(ShellExecuteEx(&ExecuteInfo) == FALSE) {
MessageBox(NULL, (LPCTSTR)GetLastError(), "Error!", MB_OK);
}
return 0;
}
[/code]
▶ No.953463
>>952400 (OP)
i wanna f*** kizuna ai with a strong nerve
▶ No.953467>>953602 >>986052
>>952493
i want to blast her with my load all over her face and down her chest
▶ No.953536>>954646
>>953423
The java client is the most recent version on the main page. I guess you're just born retarded.
▶ No.953602
>>953467
That's kinda rude.
▶ No.953603>>953607 >>953644 >>953648
Languages like Lisp dialects and Haskell are not for actually programming in, they are for learning new and interesting techniques that carry over well into other programming paradigms. There are many uses to map/reduce/filter style functions and applying lambdas. Immutability is also extremely useful in writing code with less bugs.
▶ No.953607
>>953603
>they are for learning techniques that will never be used to write a program
Watch closely, ladies, as I unwrap my monad thus creating a bijective map which I will homomorphise into a text editor.
▶ No.953644
>>953603
Please don't conflate the two. At least I know that Haskell won't do dumb shit like adding an integer and a string once it runs.
▶ No.953648>>953649
>>953603
These languages made me appreaciate, longjmp, goto and macros.
▶ No.953649>>953651
>>953648
Lisp has real goto and real macros. C (since you mentioned longjmp) doesn't have either. C longjmp is a broken, hacky version of the goto of a real programming language.
▶ No.953651
>>953649
PLs are only as real as the software that is written on it.
▶ No.953740>>953744 >>953762
Why do angry lisp men and unix haters have to be synonymous? I love Lisp, and I love the Unix philosophy. Neither are perfect of course, but what do the angry lisp men actually dislike about the unix philosophy?
▶ No.953744
>>953740
also, hating unix just puts angry lisp men in an even worse position.
▶ No.953762>>954465
>>953740
>Why do angry lisp men and unix haters have to be synonymous?
They aren't synonymous, but the two often coincide.
▶ No.953798
Just finished chapter 1 of sicp, and so far I'm really liking scheme.
▶ No.953871>>953880 >>953909 >>953986
If making a text editor is such a difficult task that noone in two threads by now has done it properly, how come it is so frequently featured in the "programming challenge" charts?
▶ No.953880>>953908 >>958895
>>953871
What's the proper way, then? So far all we've seen is goalpost moving.
▶ No.953908>>953957
>>953880
>asking for the same thing over and over again is moving the goalposts
▶ No.953909
>>953871
Because it's doable unless using a toy language.
▶ No.953957>>953969 >>954003
>>953908
Yes, asking for something, getting it, then claiming it's not good enough or doesn't count for whatever bullshit reason is exactly moving the goalposts.
▶ No.953969>>953972 >>953999
>>953957
Well for a start the very first post says no DrRacket and then you give an answer with DrRacket.
>Neither does DrRacket, you need to install entire Racket language for it.
▶ No.953972>>953976
>>953969
I didn't realize Anonymous was one person
▶ No.953976
>>953972
oh no you got me it could not possibly be multiple people
▶ No.953986>>953994
>>953871
It's a challenge because it's beyond I'm a hacker I've been reading SICP for a week.
In fact Bill Gates used to say that if you can write a text editor at all after reading SICP you should send him your CV.
▶ No.953994
>>953986
>In fact Bill Gates used to say that if you can write a text editor at all after reading SICP you should send him your CV.
big news if true
▶ No.953999>>954003
>>953969
You can also make DrRacket a standalone program, but there is no point in shipping a Racket IDE without having Racket installed. And yes, a standalone Racket program does bundle the interpreter, just like any other interpreted language does. If you need small binaries don't use Lisp. Use the right tool for the job.
▶ No.954003>>954009
>>953999
>If you need small binaries don't use Lisp.
and they wonder why no one sane uses it
>>953957
These are pajeet/weddev tier excuses.
▶ No.954009>>954020 >>954035
>>954003
>These are pajeet/weddev tier excuses.
No u. Goalpost moving is pajeet streetshit.
▶ No.954020
>>954009
A white man would have produced a simple self contained application by now. You've taken a pre-existing framework and bundled it with some hacky code. Literally pajeet-tier.
▶ No.954035
>>954009
>Clearly list constraints in first post
>Post answer that breaks constraints
>Complain about goal post moving because you cant read English
▶ No.954097>>954111 >>954396
>>952838
> I therefore invite all rust code artisans to create simple implementation of Newton's algorithm for finding square roots that a beginner could understand.
Are you retarded?
fn main() {
println!("{}", sqrt(783295.0));
}
fn sqrt(v: f64) -> f64 {
assert!(v > 0.0);
let mut x = 1.0;
while (v - (x * x)).abs() >= 0.001 {
x = 0.5 * (v / x + x);
}
x
}
https://play.rust-lang.org/?gist=db6aa33a8e5b83b7482e2da6f431d550Glad to see /tech/ is still a shithole full of LARPers.
▶ No.954111>>954351
>>954097
>panic when argument is 0.0
>Glad to see /tech/ is still a shithole full of LARPers.
▶ No.954351
>>954111
>lispfag panics when the posted example is SIMPLER than his in a BLOATED language like rust.
▶ No.954396>>954397 >>954433
>>954097
>assert!
Why does assert shout? Can it also ask questions? Same goes for println.
>let mut
>mut meant mother in the ancient Egyptian language
This makes no sense whatsoever, do you mean mutable? Why wouldn't it be mutable. If you want a constant x, just say constant x.
▶ No.954397>>954435 >>954503
>>954396
>Things should be mutable by default
you are fucking retarded
▶ No.954433
>>954396
XDDDDDDDDDDDDDDDDDDDDDDDDDD
ebin. Anyways I'm gone for good now. I've wasted enough time on /tech/ already. Continue LARPing.
▶ No.954435
>>954397
What the mut did you mut about me, you fucking mut. I'll have you mut that I graduated mut of my mut at mut. I also have over 9000 confirmed mut's on muthub.
You're fucking mut mut.
▶ No.954465>>954708
>>953762
what do angry lisp men find fundamentally wrong about unix? Unfortunately I can't really compare it to Genera, and although Genera sounds extremely comfy, unix still has solid principles imo.
▶ No.954503>>954658 >>954838 >>954906
>>954397
They should be. A good language should be able to determine when something is used immutably and optimize it transparently and not need all that syntax gore. Rust however, is not a good language.
▶ No.954643
>>952691
>ha ha fuck it man! It's 2018 after all.
Never was, and still isn't an argument as to why we shouldn't be efficient where possible. Doing anything else is legitimately a waste in every regard.
This may not be a problem for say, a lisp compiler, and may be more of an issue of filesystems, but even if it falls into that case, it's still A problem that should be solved and not simply ignored. Why not put forth the effort to make it as good as it possibly could be, why half ass it? We need to identify and solve these problems, not ignore them.
Especially in a world where portable, battery powered devices, with a large range of hardware including low spec, are basically the norm. A place where efficiency is needed for practical reasons, that could be solved now. There's no reason to wait for hardware to advance when you could just make better, more optimal, software. Utilize the hardware better, don't fucking waste it, for you and all your users.
▶ No.954646
>>953536
They're all jars, so Java wouldn't win any made up competition invented by the OP.
▶ No.954658>>954698
>>954503
>A good language should be able to determine when something is used immutably
Yeah a good language should just recognize when a data structure is actually being used and optimize accordingly. Everything should just default to void* without the syntax gore. C however is not a good language.
▶ No.954698
>>954658
I'm not defending how C is largely blind to what happens to data. Just pointing out languages like Rust copied their mistakes but with more syntax.
▶ No.954700>>954713
>>952630
>never test errors with == -1
I'm a dumbfuck python programmer. can some1 explain to me why?
▶ No.954708>>954783
>>954465
>find fundamentally wrong about unix
The idea that it's okay to write shit software as you can just write a better version later. The problem is that it remains Good Enough (tm), so it never gets rewritten. There's a bunch of stuff that should be cleaned up, but no one is ever going to do it. This is similar to the idea that "worse is better", which is also a cancerous part of the UNIX philosophy.
▶ No.954713>>954725
>>954700
It frees up the compiler to optimize more by not being unnecessarily specific and on some archs uses shorter instructions too. Stupid contrived example:
extern int foo2();
int foo() {
if (foo2() == -1) return 123;
return 321;
}
0: 48 83 ec 08 sub $0x8,%rsp
4: e8 00 00 00 00 callq 9 <_Z3foov+0x9>
9: ba 41 01 00 00 mov $0x141,%edx
e: 83 f8 ff cmp $0xffffffff,%eax
11: b8 7b 00 00 00 mov $0x7b,%eax
16: 0f 45 c2 cmovne %edx,%eax
19: 48 83 c4 08 add $0x8,%rsp
1d: c3 retq
extern int foo2();
int foo() {
if (foo2() < 0) return 123;
return 321;
}
0: 48 83 ec 08 sub $0x8,%rsp
4: e8 00 00 00 00 callq 9 <_Z3foov+0x9>
9: c1 f8 1f sar $0x1f,%eax
c: 48 83 c4 08 add $0x8,%rsp
10: 24 3a and $0x3a,%al
12: 05 41 01 00 00 add $0x141,%eax
17: c3 retq
Also impressive how far gcc has come to be able to do optimizations like that.
▶ No.954725>>954727
>>954713
>compiling wirth g++
▶ No.954727
>>954725
>4 CYE
>not using C++
▶ No.954783
>>954708
>The idea that it's okay to write shit software as you can just write a better version later.
This wouldn't be so much a problem if the Good Enough solution didn't make it into production. Once other people start depending on its quirks you can no longer change the shitty implementation without breaking backwards compatibility.
▶ No.954838>>954948
>>954503
That's part of the implementation, not the language itself.
▶ No.954883
>>952851
>Elon Musk partners with Legolas this summer in I'm Using My Tesla Money To Make 'Lord of the Rings' Real: part 2
▶ No.954898
Mezzano has a text editor written entirely in Lisp.
▶ No.954906
>>954503
> A good language should be able to determine when something is used immutably and optimize it transparently and not need all that syntax gore.
Annotations are not just for the compiler, but also for the programmer. Declaring a variable immutable is like saying "don't mutate this down the line, you fucking idiot". Why would you do that? Because the validity of your code might rely on the assumption that a variable is never mutated. Without such a declaration another programmer might mutate the value and break things.
▶ No.954948>>955241
>>954838
No, it's part of the language.
▶ No.955241>>955266 >>955959
▶ No.955266>>955560
>>955241
When they have a keyword called "mut" and other languages have things like "const" it sure as fuck is part of the language.
▶ No.955560>>955567
>>955266
That simply enforces immutability in the program, it doesn't guarantee optimizations per se.
▶ No.955567>>955958
>>955560
It's almost like mut and const are actually parts of the language and not optimization details.
▶ No.955958
>>955567
Thanks for proving my point.
▶ No.955959
>>955241
Yes it is. Aliasing in C isn't an implementation issue, you can't solve it without changing the language as the type system is inadequate for the language to know how the memory is being used.
▶ No.955962>>955971 >>955978
Question, what does Lisp provide compared to a C-like language?
Why are there so many parenthesis? How does it improve computing? Is it faster?
▶ No.955971>>955978
>>955962
>Lisp provide compared to a C-like language
simplicity
better error / warning handling
no undefined behaviour
>Why are there so many parenthesis
Because of the language's homoiconicity. LISP code can be represented as a list. The macro system let's you essentially create a function which takes in code as one of its inputs and then outputs code as its output. Additionally when comparing it to a C based language there really aren't that many if you think how much brace spam C has. The difference is that C's brame spam contains {([])} instead of just ().
>How does it improve computing
Big nums are built in.
>Is it faster
Depends
▶ No.955978>>955983 >>955984
>>955962
>what does Lisp provide compared to a C-like language?
smug
>Why are there so many parenthesis?
autism
>How does it improve computing?
It had no effect on computing.
>Is it faster?
There are few languages slower.
>>955971
>simplicity
As we've seen, even making a proper executable is a research-tier task in lisp.
>better error / warning handling
Implementation-specific and subjective. SBCL spits out a massive amount of worthless noise just by typing 1 character:
0] ~
; in: LAMBDA (#:G394)
; (SYMBOL-MACROLET ((SB-DEBUG::ARG-0
; (SB-DI:DEBUG-VAR-VALUE
; '#<SB-DI::COMPILED-DEBUG-VAR SB-DEBUG::ARG-0 0 {1001E1D863}>
; #:G394))
; (SB-DEBUG::ARG-1
; (SB-DI:DEBUG-VAR-VALUE
; '#<SB-DI::COMPILED-DEBUG-VAR SB-DEBUG::ARG-1 0 {1001E1D8C3}>
; #:G394)))
; ~)
;
; caught WARNING:
; undefined variable: ~
;
; compilation unit finished
; Undefined variable:
; ~
; caught 1 WARNING condition
debugger invoked on a UNBOUND-VARIABLE in thread
#<THREAD "main thread" RUNNING {1001E06493}>:
The variable ~ is unbound.
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT] Reduce debugger level (to debug level 1).
1: Exit debugger, returning to top level.
((LAMBDA (#:G394)) #<unavailable argument>)
>no undefined behaviour
In common lisp, setq on an undefined variable is undefined behavior.
▶ No.955983
>>955978
setq can define shit, dumbass
▶ No.955984>>956052 >>958914
>>955978
also, if you can read through lines, you can see that error handling is perfect. ~ isn't a Lisp word, so you get an error saying the variable is undefined. then you're put into the debug shell, which i presume you cannot use.
just get good, faggot, I'm sure your C-loving ass can't even use GDB
▶ No.956052
>>955984
>UB means there is no behaviour or it crashes
wrong
▶ No.958895>>959055 >>965772 >>986110
>>952496
Wow, it's another toy program, complete with empty stub menu's that do nothing at all. Well, congratulations anyways, you accomplished a textbox. Something every 6 year old HTML super hacker can accomplish in one minute, but in case of entire lispfag community it took over two months. Okay, it can save too, clap clap. Then there is this >>952553 and this >>952610 which makes it ridiculous, but I'm not moving goalposts, just pointing out it's shoddy design and lisps were supposed to be super elegant.
>>952580
Oh yes, why have usable real-world application when I could just watch video of it instead, absolutely genius, if only non-lispers were so enlightened, software demand and production costs would be radically reduced.
>>952691
I don't even...
>>952830
>Syntax is very minimal and very easy to learn
but hard enough to prevent creation of simple real-world applications, really activates almonds, maybe simple syntax attracts simple people.
>>952847
Well, you gotta learn what makes Lisp so shit first-hand I think, I can respect that.
>>952854
RosettaCode has plenty code examples.
>>952872
>I think that is just a result of years of programming in AGOL descendants
What absolute shocker, people ditch Lisp when given a choice.
>>953880
The rules are screencaped in two threads and have been for duration of weeks and hundreds of posts now you kvetching lying motherfucker. All you incompetent brainless shits do is kvetch, lie and dodge.
▶ No.958914>>958925
>>955984
>I'm sure your C-loving ass can't even use GDB
I'm highly skilled at reverse engineering. I'm on a level you can't even comprehend.
▶ No.958925>>958927
>>958914
i'll have you know I graduated top of my class navy seals.
▶ No.958927>>958935
>>958925
I'll do one better, I debugged a stuck battleship once.
▶ No.959055
>>958895
>Oh yes, why have usable real-world application when I could just watch video of it instead,
Feel free to buy OpenGenera for several thousands of dollars to experience it yourself.
▶ No.960106
>>953404
This. This thread's great. But now I'm seriously tempted to take a go at it and try OP's challenge. My mathematical background is pitiful and my programming experience is hello world. If I win you're all Pajeets of the highest caliber.
HOW HARD COULD IT POSSIBLY BE? 2 MONTHS. 2 FUCKING MONTHS.
▶ No.960752
stevelosh.com/blog/2018/08/a-road-to-common-lisp/
▶ No.960754
>>952589
>I couldn't understand SICP, the post
▶ No.960811
>>952496
wait these dumbasses are actually trying to download that and run it? that sounds like a great way to get reminded to read your sicp every day with every spare mb of ram not dedicated to mining altcoins for this guy.
▶ No.962237>>962245 >>962735 >>962757
<But Lisp doesn't have static typing!
Common Lisp has strong static typing if you want it. Then there's Typed Racket and even stuff like Shen.
<Macros are useless! Show me where they are useful!
Pretty much any Lisp codebase, examples from On Lisp.
<Lisp can't be compiled to a standalone binary!
Consider the Chicken Scheme compiler.
<No one uses Lisp!
Macsyma/Maxima (early influential CAS)
Remote Agent (JPL)
N-World, Mirai (graphics)
Lisp has had (and still has) a far larger presence in the industry than ML or Haskell. Not surprising, since it originates from pragmatic American academia, as opposed to European academia, which is obsessed with PLT metamathematics wankery and all that. Moldbug BTFO all those wankers already: https://www.unqualified-reservations.org/2007/08/whats-wrong-with-cs-research/
▶ No.962245
>>962237
>Common Lisp has strong static typing if you want it.
Every time any language tries to hack in static typing into their dynamic POS system it never works
>Pretty much any Lisp codebase, examples from On Lisp.
One of the reasons lisp programmers can never build up complex software
>Consider the Chicken Scheme compiler.
They either ban eval and cripple the language or bundle a compiler and call it an executable. It's like including the JVM.
>list of lisp companies
Yes anon you have to list them. That's how few use it.
>than ML or Haskell
Wrong. Haskell is used for all of facebooks spam prevention. Handles literally trillions of requests a day.
▶ No.962735
>>962237
> Not surprising, since it originates from pragmatic American academia, as opposed to European academia, which is obsessed with PLT metamathematics wankery and all that
t. I have no idea how research works
▶ No.962757
>>962237
>Common Lisp has strong static typing if you want it.
Not really. In SBCL type declarations are assertions, basically just an implicit runtime type check. That is, if you optimize for safety instead of speed, if you optimize for speed then SBCL will just assume that the argument has the type you suggested and happily chug along, throwing any safety out of the window.
Typed Racket does have actual static typing, and it will get pretty anal when types don't match at compile time. But even TR has problems because it is built on top of dynamic programming. If you want to import an untyped module you have to declare the types of its procedures, and there is again no checking that your manual declarations are actually true.
▶ No.962769>>962819 >>964547
>>952809
Python is compiled into bytecode you fucking LARPers. Get your facts straight.
▶ No.962819
>>962769
>bytecode
Yes this is surely what people mean when they complain that it isn't compiled.
▶ No.962995
>>952555
>Apparently it does mean jack as there are so few Java programs on the desktop. That's some real-world objective proof to counter your bullshit.
*insert literally any ERP/organization management system*
If it's not written in C# it's written in Java.
▶ No.964547
>>962769
Byte code? Oh you mean something my machine cant execute without an interpreter / compiler.
▶ No.964584>>964594
>>952581
I don't get it. Then that would mean that Python (CPython), Java (JVM), C# (.NET), JS (V8) aren't valid. inb4
▶ No.964594>>964647
>>964584
Yes anon because none of those languages generate an executable.
▶ No.964647
>>964594
Some processors can run java bytecode natively
▶ No.964670>>964722 >>964739
>>952581
C:
>save source code
>install gcc (and its dependency hell) to get the compiler
>compile
>run
>works
>uninstall glibc
>stops working as soon as you uninstall glibc
It was stated pretty clearly in OP that it doesn't count if you need to install the entire language just to run the executable.
▶ No.964722
>>964670
glibc isn't part of gcc. You also don't need to depend on glibc. Dynamic linking is entirely optional.
▶ No.964739>>964878
>>964670
>what is static linking
look faggot dynamic linking is an optimization not a requiment
▶ No.964878>>964888 >>964907
>>964739
Your argument is pointless in the first place, you're asking a managed interpreter language to run without its runtime. What you're asking for is not possible without bundling the VM in the executable.
▶ No.964888>>964900
>>964878
>to run without its runtime
A runtime is one thing, plenty of languages just require a garbage collector and what not. Having to include an entire compiler is the retarded part (eval).
▶ No.964900>>964904
>>964888
eval is not a compiler, it is the interpreter. An interpreter is not a compiler, this is the fundamental difference you are struggling to understand
▶ No.964904>>964908
>>964900
eval requires including a full compiler in languages that compile to an intermediate. That's why SBCL and Racket copy fucking everything into your executable.
▶ No.964907
>>964878
That makes the language shit, unless the runtime can be exceptionnaly tiny (see awk or sh).
▶ No.964921>>964925
>>964908
They're compiled before they're interpreted, faggot. We've come a long way since TCL.
▶ No.964925>>964926 >>965181
>>964921
Racket, Chiken, Guile etc are not JIT
▶ No.964934
>>using outdated complex techniques that were replaced in modern compilers
and this is why LISP isnt mainstream
▶ No.964939
▶ No.965230>>965324
>>965181
>planned is the same as having
Every shitty language PLANS to do tons of things
▶ No.965324>>965359
>>965230
They're LISPers so they have to write papers for a decade or two before they just write a 1k line backend to LLVM.
▶ No.965359>>965378
>>965324
It's called clasp.
▶ No.965378
>>965359
>we complain about 2 scheme implementations
>he brings up common lisp
LOL
▶ No.965772
>>958895
>RosettaCode
lol. do your homework next time.
▶ No.965773
I'd bet the OP won't be around after he gets the solution to his homework.
▶ No.965929
here you go OP buy this and install whatever OS it needs to work and you'll probably have an text editor in lisp with gui and stuff
▶ No.965933>>966115
Lispers are so cool they're like pfft I can make like 50 text editors an hour but I don't because it's babby tier and beneath me. You want that kiddy shit go play with a toy lisp machine because I'm a pro. I have no time for editing text or whatever shit you think is important. So get out of my face before I drop an xkcd on you, fool.
▶ No.966115>>966160 >>966334 >>966347
>>965933
Nobody's going to make a program to sate some random anon's thinly veiled trolling in any language.
▶ No.966160
>>966115
Actually asking Lisp LARPers to program something? Truly outrageous. Sage it down anon it's the only way to take the moral high ground.
▶ No.966334
>>966115
He did not ask anyone to make anything. Even literally copy pasting an example. This is too much for lispfags though who don't actually have any software they can paste.
▶ No.966347>>966933
>>966115
>the reason almost no lispfag in the entire world has attempted this in the last 60 years is because of a post made in 2018
>watch as I continue the time-honored tradition in my community of making excuses
▶ No.966933>>966956 >>984951
>>966347
>the reason almost no lispfag in the entire world has attempted this in the last 60 years is because of a post made in 2018
>the reason almost no lispfag in the entire world has attempted this in the last 60 years is because they have, succeeded, and it's not really worth it because better editors already exist, and most lispfags use emacs anyway
▶ No.966956
>>966933
>watch as I continue the time-honored tradition in my community of making excuses
▶ No.975176
<after nearly 3 months, lispfags still were unable to deliver a program fulfilling all of op's criteria
The absolute state.
▶ No.984951>>984955
>>966933
>because they have, succeeded
And yet you have wasted this entire thread not being able to post a single example of a trivial program
▶ No.984955>>984957 >>984959
>>984948
>>984951
>>>>> >>952496 <<<<<
you acknowledged it.
you said it's shit.
"write an editor to my satisfaction" is a separate task.
for a fresh mock-the-lispfags thread subject, how about a nice roguelike game?
▶ No.984957
>>984955
>post program
>it's does not meet the basic requirements
>I DID IT GUYS I SWEAR UR CHEATING!
okay bud
▶ No.984959>>984960 >>985052
>>984955
>He bundled the entire racket interpreter for a textbox
I hope you aren't proud of this. So you've basically proven the point that LISP isn't elegant nor is it any better than using C. Thanks.
Anyone else want to take a crack a making a proper text editor? Preferably one that isn't HTML form tier with dependency hell included?
▶ No.984960>>984961 >>984962
>>984959
>LISP isn't elegant
you're talking about tooling, not the language. There's certainly no Lisp with tooling comparable to all that C has. Although I don't actually know about any tree-shakers for C; some commercial CLs have those.
if you want to know how elegant Lisp can be, check out https://letoverlambda.com/
▶ No.984961>>1020748
>>984960
>just read the propaganda
No thanks. I'm asking why all the anons that talk about how great LISP is on /tech/ can't deliver a simple text editor. The one posted doesn't meet the requirements. Surely something as elegant and easy to use as LISP doesn't require this much dev time to get a simple text editor up and running.
OP was right you guys are just a bunch of LARPers
▶ No.984962>>984964
>>984960
You're text editor was not even capable of saving anything, a basic requirement.
>you're talking about tooling, not the language
And the language is incapable of developing basic tooling as shown for the last 60 years. Especially scheme.
>some commercial CLs have those. if you want to know how elegant Lisp can be
Ah you just have to use proprietary shit to know the true joy!
▶ No.984964>>984970
>>984962
>the language is incapable of developing basic tooling
basic tooling for a Lisp is precisely what Racket has. In Lisp, the model is that you have the language even at runtime. Not only that: you have the debugger at runtime. When Lisp programs crash, you should be able to fix them back up without ever stopping them, and you should be able to look at the data structures that led to the crash without resort to something like a core dump.
it's a nice system. It's an investment of effort comparable to one where you get neat little minimal-VM binaries like C will give you. It's an additional investment to have a Lisp *also* support neat little minimal-VM binaries.
also, languages don't develop stuff. people do. that lisp is relatively poor in human investment isn't something anyone's going to dispute. You want popularity, only? OK, go wallow in shit and Python.
>racket editor couldn't save anything
it's obvious that that's going to be only a little bit of work on top of what's already there.
not a racketfag though if I ever want to do anything in Lisp, I'll split the difference and do it in Erlang
▶ No.984970>>984974
>>984964
>basic tooling for a Lisp is precisely what Racket has
And yet you could not make a basic text editor in it. How funny.
>only a little bit of work
So trivial and yet you make so many excuses
▶ No.984974>>984976 >>985038
>>984970
*shrug*
So for the record, you will stop making this exact thread if someone posts a variant of the racket code that also saves files, or some other Lisp editor with just its features plus file saving?
▶ No.984976
>>984974
I'm not op so no guarantees :^). I think the base line for a text editor would be:
- can open files
- can create new files
- can save files
- can copy and paste
no need for any fancy key bindings though.
Ops post also states
>make a usable open-source desktop application that can be distributed like any other desktop application
And they clearly want just a binary that can be run and distributed (find a way to make one :^] ).
▶ No.985038>>985053 >>986110
>>984974
>everyone that disagrees is OP
The absolute state of LISPfags. The OP has stated the requirements for months. All the features in notepad excluding printing distributed as a user friendly binary. Why do you keep attempting to weasle out of them?
▶ No.985052>>985064 >>993633
>>984959
Not even C compiles into truly independent binaries. Go ahead and tell us what happens to your C programs after you do a rm -rf /lib. Making "no dependencies allowed" a requirement is stupid because assembly is the only language in the world where that's possible.
▶ No.985053>>985113 >>985145
>>985038
>The OP has stated the requirements for months.
Requirements have been met by >>952496 with clarifications in >>952604.
Posting smug anime faces while shifting goalposts doesn't make you any less of a nigger, even if you are not OP but merely acting in his place.
▶ No.985064
>>985052
I don't have any bones to pick with Lisp, but what you're saying is wrong. There's not even a /lib directory on OpenBSD. All the stuff in /bin and /sbin is static binaries. They did it that way so you can still have a working system in single-user mode ("boot -s" at the boot loader prompt) even if the linker is hosed.
▶ No.985113>>985124
>>985053
It doesn't meet the requirements though half the options are just stubs that don't do anything at all. It isn't moving goalposts when you didn't even submit something that met all the requirements.
▶ No.985124>>985145 >>985168 >>985170 >>985201
>>985113
It's a fully functional text editor which can open and save files. Adding other non-essential features is left as an exercise for the reader. Nobody is going to waste time writing software that nobody will use, just to please some faggot on some obscure imageboard, that just can't refrain from sperging out about the details of the implementation. Even if someone decides to add more features you faggots will still complain that it's not really pure lisp because firmware of LCD controller was written in C and not in lisp.
▶ No.985145>>985149
>>985124
>>985053
Op in the very first post says "no racket" and you post in racket. Good job faggot.
▶ No.985149>>985153
>>985145
>Neither does DrRacket, you need to install entire Racket language for it.
>let me just omit Dr from DrRacket
>look guys it says no Racket
Holy shit the amount of goalpost moving is hitting levels never before thought possible. Racket is a scheme dialect so it fulfills the requirements. DrRacket is an IDE for Racket language, you don't need it to write and execute Racket programs. Learn to read faggot.
▶ No.985153>>985158
>>985149
>requirement mentioned in very first post is goal posting
okay anon
▶ No.985158
>>985153
>Invalidating solution on bogus claims is not moving goalposts.
And where exactly is this requirement? Could you please show us where it says "no racket"?
>inb4 it's in the first post m8
You need to be more specific.
▶ No.985168>>985170
>>985124
The OP states all the features of notepad sans printing. Just admit your pajeet tier project didn't meet the requirements or better yet finish the damn job since you care so much to reply every time this thread gets bumped
▶ No.985170>>985177 >>986110
>>985124
>Adding other non-essential features is left as an exercise for the reader.
See:
>>985168
and pic related. You failed to meet the requirements.
▶ No.985177
>>985170
They literally have to duplicate the most out dated pos featureless text editor and they cant do it.
▶ No.985201>>985207
>>985124
>I could do it but I won't because reasons, so I win
What a slimy, worthless cunt you are.
▶ No.985207>>985213 >>985657
>>985201
>resorting to personal insults
Yes, keep it coming, these (you)'s are very delicious.
>so I win
This is now kids-at-playground tier debate.
>I wanted a lemon flavored ice cream with a cherry on top.
>but I only got ice cream without the cherry
>the ice cream I got is not ice cream
>REEEEEEEEEEEEEEEEEEE
<kid proceeds to calls an ice cream man a slimy worthless cunt
▶ No.985213>>985214
>>985207
>specifies ice cream with cherry
<gets ice cream without cherry
>sir this does not meet the requirements
<I GAVE ICE CREAM WITH A CHERRY
>sir there is no cherry
<YOU CHANGED THE REQUIREMENTS
lispfags really are the worst
▶ No.985214
>>985213
Did you expect anything else? I'm going to keep bumping this thread to remind him of his shame. Any anons worth their salt want to take a crack at it? This faggot is making you LISPfags look bad.
▶ No.985657>>985676 >>1040552
>>985207
>now he's resorting to food analogies
▶ No.985676
▶ No.986052
▶ No.986063>>986098
>>952400 (OP)
I thought anon from the pic related was based until
>Text editor must have graphical user interface
What a kike
▶ No.986098
>>986063
making it graphical means you can have an editor without doing any actual work or asking serious questions like "how should I represent files in memory?"
You just use an editor widget and get all that for free. Which, at least, makes this an easy challenge for anyone using pretty much any language.
▶ No.986110>>986115 >>986116 >>986127
>>952400 (OP)
>>952437
>>952455
>>952493
>>952553
>>952581
>>958895
>>952556
>>952810
>>952860
>>985038
>>985170
Nice bait, but I will bite.
I was going to make a post to call you out for being a nigger. But I decided to see a tiny bit more effort because a couple of fellow /tech/nicians actually fell for the crappy bait.
You provided 0 reasons why lisp (or some implementation or dialect) is bad. This is either because you have never even tried lisp, or because you are a /g/ay Nigger who can't program at all. If you truly were the master programmer that you claim to be, you would have listed at least some points, but you didn't because you couldn't.
>Racket doesn't count
>Clojure doesn't count
>Emacs doesn't count
In the thread's subject you talk about lisp, but then you add arbitrary rules that ban all lisp dialects except CommonLisps and Schemes. Why do you complaint about fact that you need the language runtime to be able to run programs written in the language? Are you retarded or something? You need the C runtime to be able to run C programs, so how is lisp any different? Also, why exactly doesn't Emacs count? In the op you demanded a compiled binary, but lisp programs are usually either interpreted or compiled just-in-time. And when an anon actually delivers, you keep on making up BS and whining that it doesn't count. Again this just proves that you are a /g/ay Nigger with zero skill.
If you fail to reply to this post and address all of these points, you are a fag. Also, I am relieving you from those Kizuna AI pics, because a fag who lusts so much after a black cock doesn't deserve them.
▶ No.986115>>986127
>>986110
lisp fags making excuses for their shitty family of languages number 546543. Even absolute shit like python is capable of making a simple binary.
▶ No.986116>>986127
>>986110
>You provided 0 reasons why lisp (or some implementation or dialect) is bad
Well anon for literally months you have been unable to present a simple text editor that has been made in literally every other language.
▶ No.986127>>986128 >>986129
>>986116
>>986115
<Didn't address any of the points
<Just some shitty damage control and samefagging
I knew from the very beginning that you are a faggot. The completed text editor is posted in this thread and your "challenge" has been completed. Now, I am asking you again to reply to >>986110 If you truly know wtf you are talking about, then you shouldn't have any issues with this. But you are glowing in the dark so hard atm because you keep on talking as if making a fucking Notepad.exe clone would be the most challenging programming task ever. Why do you keep on evading the fact that you are the only one who has been unable to respond (gee, I wonder why)
Now you have exactly three (3) options:
1) Prove that you actually know something
2) Go back to >>>/reddit/ or >>>/cuckchan/
3) Perish
▶ No.986128>>986132
>>986127
>The completed text editor is posted in this thread
Yeah you mean the one that was unable to follow the basic requirements that have not changed for months. How about you learn to fucking read you retard.
▶ No.986129>>986132
>>986127
>because you keep on talking as if making a fucking Notepad.exe clone would be the most challenging programming task ever
It is specifically trivial intentionally. Yet you can make nothing but excuses.
▶ No.986132>>986133
>>986129
>>986128
>>986129
>>986128
>>986129
>>986128
>>986129
>>986128
>>986129
>>986128
>and the damage control and samefagging continues
Well, at least you didn't deny the fact that you are a fag.
▶ No.986133>>986135
>>986132
Nice try lispcuck. Keep your damage control up. You need it.
▶ No.986135>>986137
>>986133
This is getting really embarrassing... For you (see pic related). Well, I am glad that this thread gets filled up quickly.
▶ No.986137
>>986135
>lispfags stalling post 765733
▶ No.986139
>emacs nigger starts randomly quoting everyone and saging
fuck off back to your retarded board you cancerous shit
▶ No.986179
>>952632
Thanks a lot for the explanation. This board has some nice contribution, funny thing that only garbage get answers.
▶ No.986182
>>952632
>Python executable don't exist
▶ No.986183
overengineering
nothing quite like it heheh
▶ No.986191>>986200
>Edwin which requires installing Scheme
And Python programs requires Python.
Who will have thought...
▶ No.986196>>986240
▶ No.986198
▶ No.986200>>986214
>>986191
except python can produce executables
▶ No.986214>>986239
>>986200
By bundling the runtime in the binary.
Something possible with every serious Lisp implementation.
Both fail the requirement "no miracles required."
▶ No.986239>>986357
>>986214
>Both fail the requirement "no miracles required."
As long as you can do it in a couple bash commands it's no miracle
▶ No.986240
>>986196
>The best lisp program you faggots can come up with is an Electron app
nice web browser faggot
▶ No.986357
▶ No.987548>>1031751
>>952837
Nothing in Python is written entirely in Python
▶ No.993560>>993664
>>990904
Guess the LISPfags gave up. Thanks for admitting you're LARPers
▶ No.993633
>>985052
You do know that you can compile with the -S option to show the assembly generated by the Compiler?
C is in no way dependent on dynamic linking (that fad started later due to the bloat of xlib) or the C library for that matter (although you then have to do raw syscalls).
▶ No.993655>>993661 >>993668
OP, I think the problem wasn't necessarily with Lisp, but rather that you challenged a board of people who don't know any programming at all
▶ No.993661
>>993655
lol somehow I doubt it
▶ No.993664>>993665
>>993560
You basically asked them to build a Lisp executable without a Lisp runtime, I think they're just sick of your bullshit
▶ No.993665
>>993664
This. He's like a deliberately obnoxious version of the fags that come on /fit/ and want to know how they can get big without eating more.
▶ No.993668>>993678
>>993655
>pretending the issue is not OP engaging in bad faith from the start
▶ No.993678>>1040554
>>993668
>faith
oy vey it's anti-lispetic
▶ No.993679>>993686 >>993696 >>993704 >>994022
Just tried out the editor, creating an executable takes 19 SECONDS!
What is it doing, after all it is just bundling the interpreter.
Executable is 13M big (at least it only needs pthreads and libc).
Then came the program, it seems it has NO copy/paste (right-click does nothing,
Edit just hast a bunch of empty entries).
Loading files is REALLY slow!
Tested on the King James Bible from Project Gutenberg in txt format which can
be found here: http://www.textfiles.com/etext/FICTION/bible10.txt
Shalompad takes 16-21 Seconds to load the File when opened!!!
(I tried multiple times, via "racket pad.rkt" and also using an executable
generated via "raco exe pad.rkt")
Every other Editor I tried showed something in ~1 Second (heany/scite/vim/nano)
even though I these editors were not already running (since shalompad also does
not support command line arguments).
Except for VSCode: although it neede ~3 Seconds to Load after about 8 Seconds
I could scroll through the Testfile. Congratulations you have coded an editor
that is SLOWER THAN VSCODE!
Additionally: Open does NOT open a file, it just appends the selected File to
the current buffer.
Ctrl-C does not work, instead it just replaces the current selection with a 'c'.
Double clicking a word does not select a word. And Triple clicking of course
does not select a line.
Also: at the start it starts toasting my cpu but quickly drops down to 0 cpu
usage after allocation 173MB of Memory. After opening the above testfile
memory usage went up to 451MB... even firefox uses less.
Congratulations to you anonymous lispfag, you have truly opened my eyes to how
completely and utterly useless every single of you is!
▶ No.993686>>993689 >>993696
>>993679
Another fun addition: When saving files Shalompad inserts empty lines, just try opening a file and saving it again, it will not be the same.
▶ No.993689>>993696
>>993686
So to summarize:
- The editor can NOT open files, only append.
- The editor seems to replace 1 empty line with 3 after saving, meaning it can
NOT reliably save files.
- NO copy/paste/search/replace
- No keyboard shortcuts
- Static executable is 13MB since it bundles the interpreter.
- Startup time is atrocious.
- Appending a file takes forever (at least saving is fast...).
What a victory for the lisp community.
▶ No.993696>>993714 >>993781 >>993913
>>993686
>>993679
>>993689
> Write me an editor!
< *throws some quick & dirty code together* Here you go
> Why is your editor not on par with decades old projects? REEEEEE
You asked on an image board for a working editor, and people delivered. Now you sperg out because the editor cobbled together to placate an autist is not production ready? Gee, what a surprise.
Let's turn this around: pick your favorite meme language and write an editor yourself, I'll be waiting.
▶ No.993704>>993714 >>993807
>>993679
It's a bad editor, sure, but it's an editor.
The bad editor is not a virctory for the lisp community as much as a defeat for OP.
▶ No.993714
>>993704
>it's an editor.
>>993696
Check out my shell editor
echo "Imma editor" >> text.txt
▶ No.993781>>993785 >>994080
>>993696
>You asked on an image board for a working editor, and people delivered.
You failed point 3 in the OP
>feature parity with notepad excluding print and page set-up
and instead of fixing your own abomination you blame the rest of the board for your incompetence. I'll keep bumping the thread because I want to see someone actually complete the task. Feel free to fuck off and allow someone else to set-up to the task.
▶ No.993785>>993807
>>993781
the task has been complete a while ago. now, stop being so butthurt over this.
▶ No.993807>>994008 >>994080
>>993704
>>993785
What part of "you have failed to achieve point 3" do you not get? Notepad is trash but even it can generally save a file correctly, ignoring pozblows having to have its special-snowflake line endings. On top of that, it's to the point where your editor runs so poorly that it is more damning than if you all had just simply admitted to lisp being useless for any real-world purposes outside of autistic "hurr durr I'm smart" math toys or mere configuration formats, which even for the latter it is not proven to be superior to something such as lua or even a plain-text format like toml or something. Either be men and admit you failed or deliver the damn editor already.
▶ No.993812>>993813 >>994008
>can't build a simple binary without bundling in the entire interpreter
Truly the superior language. How will C ever recover?
▶ No.993813
▶ No.993913
>>993696
Used the opportunity to fumble around with c++/qt5, leaves a lot to be desired but went better than expected.
I used this: http://doc.qt.io/qt-5/qtwidgets-richtext-syntaxhighlighter-example.html
as a startingpoint, since I last did GUI development a decade ago with gtk+2.0.
Suck it down.
(What is wrong with 8ch lately? I always get an Unknown file extension warning when I try to upload the tarball, well, a gif/zip combination file it is)
▶ No.993978
>>952691
I've got to store my dank anime somewhere, and useless bloat taking up space is not something i want on my drive
▶ No.994008>>994022 >>994164
>>952400 (OP)
>>993812
>>993807
Are you seriously this oblivious to your own ignorance? That's the worst kind of ignorance. Secondly, wtf are you complaining about a programming language needing its runtime? Even your ANSI C programs need the C runtime (If you don't implement it yourself from scratch. You can go ahead and do it, mister big brain) And the fact that you couldn't list even 1 point of criticism against lisp speaks volumes. If you truly were the "master programmer" that you try to appear as, then you could at least list what's wrong with the completed implementations (Emacs and the Racket program in this thread, for example) but you couldn't. You just keep on referring to your points from the pic in OP. I can't help but laugh at you.
▶ No.994022>>994041 >>994090 >>1010302
>>994008
>wtf are you complaining about a programming language needing its runtime?
He's complaining that you need to bundle the entire interpreter in the program to make it work. That's retarded. As seen above, >>993679 a tiny, barely functioning text editor ends up being 13MB. Let's explore, shall we?
Geany, a lightweight and portable IDE-style editor, is only 10.8MB. With plugins, it's only barely bigger than the lisp editor.
https://www.archlinux.org/packages/community/x86_64/geany/
vi, the text editor that is ubiquitous throughout the *nix world, is 293KB
https://www.archlinux.org/packages/core/x86_64/vi/
nano, often considered to be a noob-friendly alternative to vi, is 2.3MB
https://www.archlinux.org/packages/core/x86_64/nano/
leafpad, a notepad clone, is 306KB
https://www.archlinux.org/packages/extra/x86_64/leafpad/
notepadqq, a notepad++ clone, is 10.4MB
https://www.archlinux.org/packages/community/x86_64/notepadqq/
YOU
LOST,
LISPFAG.
▶ No.994041>>994066
>>994022
>321 replies
>runtime bitching
Erlang has a big runtime too--it has its own operating system, complete with rsh, job management, and a 'ps' command so that you can find processes to kill. But that runtime is obviously a benefit, so people don't complain except to understand that Erlang isn't appropriate for everything.
With Lisps the runtime benefits are a little less obvious, but they're still there. Alternately Lisps can be appropriate in more areas than Erlang.
If you wanted to start a thread about how CL can't into small binaries, you could've done that 321 replies ago and we could've let that shit thread fall off the catalog already after someone linked you to Chicken Scheme.
▶ No.994049
>>952547
But never on the Oracle JVM, but originally on the much slimmer Dalvik VM, and now on the Android Runtime.
▶ No.994066>>994090
>>994041
>link to a programming language
>claim to be finished
Classic lisp niggers. muh trivial implementation and all that.
▶ No.994080>>994094
>>993807
>>993781
Satisfying point 3 takes time, and OP has not proven enough good faith for anyone to invest said time.
Any feature addition would be met with hundreds of posts lying about what Notepad can do and shifting goalposts, see the whole back and forth about runtimes.
Same goes for performance, optimization is for things more serious than a quick proof of concept.
Bue keep encouraging OP, bad faith discussion has never hurt anybody after all.
▶ No.994090>>994092
>>994022
Again, you just aren't able to understand what a language runtime is. You don't have to bundle everything into one executable BUT this was one of your retarded rules, as a matter of fact. Make up your mind, and stop bitching about your own rules.
>>994066
It's very ((convenient)) for you to ignore all requests for more info (especially if it something remotely technical in nature!) Why you can't provide any arguments against lisp? Is it because you are nigger monkey who can't even program? All you could do was to come up with those vague "rules" in the op, and then getting increasingly butthurt over your own little challenge. Top Fucking Kek.
▶ No.994092>>994093 >>994846
>>994090
>Why you can't provide any arguments against lisp?
You are arguing in bad faith. I already made and won all the arguments against lisp. It's your problem if you keep shifting the goalposts.
▶ No.994093
>>994092
>You are arguing in bad faith.
Hello lainchan.
▶ No.994094>>995284 >>1040558
>>994080
Why are you just shifting the blame instead of improving the editor?
So you have to bundle the whole interpreter to produce a self-sufficient binary, a lot of other languages do that as well and still produce usable software.
This still is no excuse for your inability to acknowledge the problems in anon's editor and instead of fixing them to produce a nice editor you just keep whining about the goals not being clear, is it that hard to understand saving/loading files?
▶ No.994164
>>994008
I for one am complaining about the fact that the editor that was provided (emacs is not pure lisp, so I refer to shalom ad) is incapable of properly saving files, and on top of that the required features of the GUI are not even implemented. I am NOT complaining about the lisp runtime because I realize that is unavoidable, which is why I did not cite the size of your bloated monstrosity in my post.
▶ No.994292>>994430
>LISPfags think every reply is the same person.
▶ No.994424>>994431
Why write a simple text editor, when a full blown operating system entirely written in Lisp exists? https://github.com/froggey/Mezzano
Of course, here is a text editor that runs on it: https://github.com/froggey/med
OP btfo.
▶ No.994430
>>994292
I want to look EXACTLY like that.
▶ No.994431>>995841
>>994424
>OP btfo.
No, here is how OP will respond:
>but muh rule 5
>but muh challenge
>but muh executable for Ghanoo plus Linugs
>picture of smug Ai
>lispfags
▶ No.994846>>995089
>>994092
>implying this whole thread isn't made in bad faith
also, I am not shifting any goalposts, unlike you op. Op is faggot, like usual.
▶ No.995089>>995759
>>994846
>NOOO U
you are the faggot that has not been able to post a notepad tier piece of shit for the last 6 months
▶ No.995284>>995348 >>995349
>>994094
>Why are you just shifting the blame instead of improving the editor?
What benefit comes from improvements to the editor?
I think no benefit at all, since it's a proof of concept and at best it will become a toy project that stands no chance against any semi-serious text editor developed in the last decade.
See, I don't care about the text editor, and I don't care much about lisp either: what I care about is getting faggots like OP to be shunned, to keep the discussion quality here from lowering even further.
>This still is no excuse for your inability to acknowledge the problems in anon's editor
I acknowledge the issues in anon's editor, but I think they are to be expected from a quick proof of concept and the repeated attempts to completey ignore it indicate that this thread is pointless jerking.
▶ No.995348>>995500
>>995284
>proof of concept
lmao you are a child
▶ No.995349
>>995284
>why bother writing any software when it won't get as popular as some other software?
What a faggot.
▶ No.995500
>>995348
lmao keep posting anime girls
▶ No.995759>>995768 >>995841
>>995089
But it has been posted.
▶ No.995768>>995841
>>995759
>proof of concept = concept of proof
checkmate lisp haters
▶ No.995841>>996319
>>994431
>>995759
>>995768
Shut up, stupid goyim! Your pathetic "proof of concept" doesn't count because you didn't fulfill the rule number 9 as listed in my op. lisp is not a real programming language because you can't do my homework in it. If you had a job, you would use a productive programming language like Visual C++ or Visual Basic and superior proprietary programming environments, like Visual Studio Ultimate. You lispfags are jealous because you can't compile your code into an Universal Windows Platform App. You can't win my challenge, just give up already!!!!
▶ No.996319
>>995841
Bait. Lisp is the Jew language.
▶ No.996327>>997244 >>1040558
Still spending more time avoiding the work instead of improving what you've already done I see. How many months are we up to now? Four?
▶ No.997244
>>996327
i'm bumping this to see lispfags suffer
▶ No.997988>>997989 >>997997
▶ No.997989>>997997
▶ No.997997
>>997988
>>997989
>four months of excuses
>they just end up posting Emacs
LISPfags never change.
▶ No.998342>>998384 >>998633 >>999320
This is hilarious. I regret not reading this thread sooner. The lisp faggot bundling the whole interpreter and making the exe 13mb and slow as shit made my sides hurt, but it reminded me of a small cute language I used few years ago when I was just starting with programming.
It is also interpreted and can be "compiled" to .exe by bundling the interpreter with your script, but I was sure as fuck the executables were below 1 MB. So I downloaded the AutoIt and tried to make the editor...
I have to admit, that there's barely any code in it, as the language's GUI library just has an edit box which supports copy-paste, selecting etc. I only had to write little logic to load and save files. Maybe for the next post I'll try to write such editor in C/C++ (but no promises).
Well, my editor can load and save files, is fast, is under 1mb. LISPfags, watch and learn, everyone else, just watch and laugh at the faggots.
▶ No.998384>>998633
>>998342
This thread is hilarious. They're convinced every anon that doesn't jump on the LISP bandwagon is the OP. They've posted a editor that doesn't even work or come close to meeting the requirements. They've claimed anons are moving goalposts when the requirements have been the same for months. They claim bundling racket is the issue when the OP himself stated it was fine but just lazy. They've resorted to posting emacs implementations that someone else wrote in an attempt to save face.
I was really interested in seeing someone with a LISP background step up to the challenge and make something on par with notepad. I've toyed with LISP myself but I don't claim it to be the end all be all of programming. This simple challenge seemed like the perfect chance for the LISPfags that infest this board to show everyone how simple it is to write an application like this and they've squandered it. At this point it's obvious most of them are LARPers that don't do any programming work at all.
We're halfway into November and half a month past the deadline and they're still in here attempting to save face. The OP doesn't seem to have posted in awhile but I'm sure he'll be back at some point to laugh assuming the BO or vol hasn't banned him. I'm too lazy to check the logs but it is suspect that he hasn't been around in some time.
▶ No.998633
>>998342
>>998384
>>952400 (OP)
Can we archive/sticky the entire thread, as an eternal reminder
that LISP users are incompetent fucks who will never make it in
programming/computers in general?
▶ No.998992>>999356
I can guarantee that 90% of this thread is samefagging
At least fourchinz bans avatarposters
t. Haskell fag
▶ No.999027>>999039 >>1008071
>demand of a fish to fly to show it is a feasible creature
A language doesn't need to do everything. It needs to be able to do one thing better to have value. So the question should be if lisp has a place where it outshine the rest.
▶ No.999039>>999044
>>999027
The answer is no. LISP is based on a radical concept: zero syntax. We've discovered in the intervening years that syntax is actually a good thing. If ever there was something that LISP was better than all existing languages at, someone would write a new language that does it just as well, but also with special syntax to support it. In this way, LISP is beaten in any niche it tries to fill.
▶ No.999044>>999047
>>999039
Other languages have copied the good parts, such as first-class functions and higher order functions. And that's good, isn't it? The only thing that sets LISPs apart from other languages in these days is the S-expression syntax and homoiconicity.
▶ No.999047
>>999044
Heh, you said homo.
▶ No.999320>>999344
>>998342
Let me guess, your "editor" source looks something like this:
var textField;
function Save() {
var outFile = FileOpenDialogue();
WriteToFile(outFile, textField.GetContent());
}
function Open() {
var inFile = FileOpenDialogue();
var content = ReadFromFile(inFile);
textField.SetContent(content);
}
Good job anon, you figured out babby's first GUI framework project. You sure have stuck it to the LISPfags.
▶ No.999344
>>999320
that's what I said in the post anf i shoe the source code in the video, so you dont have to guess, retard. God you fags are stupid. My point was that even though this language also includes a whole interpreter into the executable it's still under 1mb, it's much faster and seems like it's gui library is much better than lisp one.
▶ No.999356>>999380 >>1002078
>>998992
Where's your text editor Haskellfag?
▶ No.1002062>>1002076
use C++ and make things dammit instead of "debating" things that dont matter for your project or you wont personally will fix in time youve been given i guess
▶ No.1002076
>>1002062
Even better -- use C++ and Guile
▶ No.1002078
>>999380
>>999356
Hahahahaha. Haskell fags answer in the very next post while lispfags stall for months.
▶ No.1003167
Why isn't Common Lisp being used as a stand-in for docker and configuration managers?
Like seriously everyone says "use le right tool for le job" but that is objectively one area where Common Lisp would kick ass. Think about it, you have some cluster of VM's you're using for testing/building/etc, you want these to be agile and respond to changes quickly, and you also want to be able to modify the parameters easily.
I imagine in three parts you could have a...
-- Docker replacement in CL handling running the VM's themselves (probably with an LXC backend)
-- Kubernetes replacement in CL handling orchestrating the DockerCL
-- Some glue library that helps push code/binaries/etc to the VM's and ensures bit for bit reproducibility perhaps. Essentially the Configuration Engine.
Where the magic would really come in is...
-- You could design a DSL for each layer or simply have each layer running as a CL image you can hack when you need to change something. Parameters change? "slime-connect" and update that shit you've had running for a year to use the new stuff you want. DSL's that aren't hacked together to be some pseudo-ruby or ad-hoc implementation? Sweet got it covered!
-- You could save these images so if at any point you update and something goes strange, or you change your mind and simply reload the old image with everything back in place.
-- CL is already battle tested for long running data like this.
-- You'd be able to interactively view the system as it runs to figure out better optimizations/etc.
-- You'd probably have a much easier time abstracting backends, "Hurpdedoo we want to try using rumpkernels to test everything", ok no problem just write some macros to integrate rumpkernels instead of lxc while the system is still running.
I get why they're using docker and kubernetes in Go because most of that shit is backed by google, but if CL hackers want a good project I could really see something like that taking off.
▶ No.1003274
>EXPECTING jEW LANGUAGES TO DO
>WORK
>FOR
>YOU
>==jEWS==
>==WORKING==
>==EVER==
▶ No.1003671>>1038750
How feasible would a simple text editor written in Scheme for the NES be?
▶ No.1008071
>>999027
Demanding basic a basic piece of software and build process doesn't seem out of place for a programming language.
▶ No.1009177>>1009245
>>1002032
>expecting progress from Lispniggers.
▶ No.1009245
>>1009177
I expect nothing, I just enjoy bumping this thread.
▶ No.1009443
i want to fuck kizuna poster anon
▶ No.1009447>>1015443
https://github.com/cxxxr/lem
https://youtu.be/YkSJ3p7Z9H0
Here's your text editor, bro. You're welcome. Compliments of the Japanese.
▶ No.1010302
>>994022
Leafpad depends on GTK2 and Notepadqq on Qt widget toolkit. That is you're relying on preinstalled libraries. Instead of making bundled binaries you should make bytecode modules considering Racket a preinstalled package.
▶ No.1013937
▶ No.1015443>>1015454
>>1009447
It doesn't count if it's Japanese. You are all posers. No one here can do it in any language.
▶ No.1015454>>1015455
>>1015443
I'm not a Lispfag, but your OP requirements are lame. It should have just been "write a basic text editor", and not make it into some Windows GUI clone.
▶ No.1015455
>>1015454
You don't get the context also you're responding to some le ebin troll.
▶ No.1015609>>1017535
I got OP's dox. What do I do.
▶ No.1017535>>1020807
>>1015609
post it to /cow/ and /baphomet/
▶ No.1020748>>1020752
>>984961
Why do you put two spaces after your sentences? Are you a retard?
▶ No.1020752
>>1020748
Why did you bump this shitty thread just to post that? Are you a retard?
▶ No.1020807
>>1017535
>fucking some random stranger
Would be fun if you also complained about the evil jews.
▶ No.1031749>>1031750
▶ No.1031751>>1031819
>>987548
This. Mostly useful shit inevitably boils down to CPython extensions or Cython (which is p. cool)
Notice the useful. And to pre-empt any GIL claim, that resolves locking issues and if you really need per core threads just use multithreading instead of threading lib (or gevent, asyncio, coroutines, tornado, etc)
▶ No.1031757
>>1031750
Because it was close to being bumped off.
▶ No.1031819
>>1031751
>language is good when it's not used
▶ No.1038457
If your programming language is so good, how come no one has ever written a program in it? No, your programming language doesn't count, it relies on machine code xd
▶ No.1038487>>1038493
>>952421
Looks nice. should share it somewhere anon
▶ No.1038493>>1038494
>>1038487
He can't share it because he didn't write any code. Otherwise he'd have dropped the source and a bin to prove the OP wrong.
This thread is months old and still causing massive butthurt every time it gets bumped
▶ No.1038494>>1038496 >>1038499
>>1038493
>if I say that they are butthurt often enough it will become true
Sorry, kid. There is already a text editor written in LISP. It's called GNU Emacs. It's the best text editor btw.
Anyways before you demand that others write a text editor how about you do it first? You won't though because you're a LARPer.
▶ No.1038496
▶ No.1038499>>1038789 >>1040559
>>1038494
>doesn't post source
>calls other anons LARPer
>using emacs as example when OP clearly stated he wanted LISPfags to write a new editor.
You seem pretty butthurt anon.
▶ No.1038707>>1038751
Should I learn Lisp if I hate Jews?
▶ No.1038750
>>1003671
NES games are written in ASM, 6502 is so fucking primitive that C compilers produce completely shit code.
▶ No.1038751>>1038755
▶ No.1038755
▶ No.1038774>>1038789
I have a proposal. Since there's also that Nvidia Ada thread around, why not ask for an editor made with either in Lisp or Ada?
▶ No.1038789>>1038812 >>1038886 >>1039142
>>1038499
>thinks I'm a LISP fag
>LARPs
>hurr durr disregard THE text editor
LARPer
>>1038774
I have a proposal. Since there are so many Cniles/LARPers on this board, why not ask for an editor written in C?
▶ No.1038812>>1038816 >>1039016 >>1039141
>>1038789
>why not ask for an editor written in C?
Sure:
ed, vi, nvi, vim, vis, nano, mg, GNU Zile, sam, acme...
▶ No.1038816>>1038887
>>1038812
>ed, vi, nvi, vim, vis, nano, mg, sam
no gui. If an ed clone counted, the lisps fags could have done it easily
>GNU Zile is a text editor development kit
nope
>acme
only runs under plan9
>400 replies
is op gonna make a part 3, I wonder?
▶ No.1038886>>1038917 >>1039016
>>1038789
>LARPer
Says the faggot LARPing on /tech/ all day.
▶ No.1038887
>>1038816
>is op gonna make a part 3, I wonder?
He will I'm sure
▶ No.1038917
▶ No.1039016
>>1038812
>LARPer can't write a simple text editor yet expects others to do it
jej
>>1038886
Wrong. I'm not LARPing. I'm calling out LARPers.
▶ No.1039141>>1039142 >>1039220
>>1038812
Windows Notepad. Isn't it?
▶ No.1039142
▶ No.1039220>>1039748
>>1039141
post source or GTFO, LARPer
▶ No.1039748>>1039829
>>1039220
It's older than C++, so it had to be C.
The entire Windows API consists of C, so the only logical choice for a small program on Windows is C.
▶ No.1039829
>>1039748
Are you retarded? Windows is written in C++. Notepad most likely too.
Anyways where is the source code?
Kill yourself, cnile LARPer
▶ No.1040552
>>985657
>no he's resorting to complaining about food analogies
>"The Icecream man cannot make Icecream!"
> "It must be rocky road with cashews! People have been making rocky road with cashews for years. There is no excuse!"
>"What's this, he gave me just chocolate, where are my fucking demands."
>"I want my rocky road ice cream and I want it for free!"
>"The ice cream man can't make icecream!"
▶ No.1040554
>>993678
>He doesn't know what engaging in bad faith means
Typical for a mental midget.
▶ No.1040558
>>994094
>OP is an asshole
>Nobody wants to work for an asshole for free
>"Hah, you should just work for the asshole instead instead of blaming the op for being an asshole."
Do your own homework.
>>996327
"You should improve work that nobody wants or needs for autists you don't even like."
Someone already posted an operating system written in lisp. Are you too retarded to believe that a text editor isn't possible? It is, but you retards don't deserve the time it takes to make it.
▶ No.1040559
>>1038499
>You can't write a text editor in lisp.
>A text editor already exists, but it doesn't count, I want a new one!
>Don't want to make a new one!? That means lisp can't make a text editor!
Wew
▶ No.1040609
>>952400 (OP)
A text editor written in lisp isn't a text editor because I will pull conditions out of my ass to push a dishonest narrative.
By the way, you are a poor hobo who begs on the streets. This will be true until you mail me cold, hard carh. If you don't give me free money, you accept that you are some sort of beggar.
Any attempt to weasel out of the challenge of giving me free money will be interpreted as surrender and silent admittance that you are a useless shit human being, and anyone associated with you is a retard.
That is all. Think you can do that much with your deep pockets? Too difficult? At least try.