02-28-2019
OpenSCAD is another purely functional language, though it doesn't look it at first. It looks more like C, with very different constraints on where you're allowed to do what. This causes a bit of brain damage at first ("why can't I overwrite variables!?" cried a million voices) but is good at illustrating what "functional language" means in a paradigm procedural programmers can understand. It's also got a nice orthogonal set of basic vector/matrix operations.
Having fought through and learned its ways, I agree that functional syntax is often simpler and more concise. It's rarely clearer -- comments are essential. And never in my experience have they ever been faster or smaller. Functional languages rely on things like compiler optimization and caching to reduce the amount of work for a given result. This amounts to big compilers/interpreters and occasionally unpredictable amounts of overhead. Tail recursion is a wondrous thing but so easy to poison!
That's the price you pay for a language one step closer to declaring what you want instead of declaring exactly how to do it. It's not a good fit for everything.
These 2 Users Gave Thanks to Corona688 For This Post:
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I have a simple script that I want to run every 30 minutes but only when I execute it. I don't want it to be a crontab job.
so i have for example
date
ls -l
who
sleep 1800
The first time it executes correctly but after the first time it nevers execute back again. It should execute after... (2 Replies)
Discussion started by: elchalateco
2 Replies
2. Shell Programming and Scripting
Anyone have an idea why this if statement does not work correctly?
"test2.sh" 18 lines, 386 characters
#!/usr/bin/sh
WARNING=80
CRITICAL=95
check_it()
{
if ] || ];then
echo "YES ] || ]"
else
echo "NO ] || ]"
fi
}
check_it 80.1
check_it 81.1 (3 Replies)
Discussion started by: 2dumb
3 Replies
3. Shell Programming and Scripting
Hi,
I have a script where I am trying to set a local variable using the following,
MYVAR="$NAME"_"$NAME2".txt
where say,
NAME = one
NAME2 = two
so I want the output one_two.txt but what I am getting is,
two.txt
basically the $NAME2 is overwriting, what am I doing wrong?
... (3 Replies)
Discussion started by: walsh_j
3 Replies
4. Programming
//save in/out
int tmpin = dup(0);
int tmpout = dup(1);
//set initial input
int fdin;
if(_inputFile)
{
fdin = open(_inputFile, O_RDONLY | O_CREAT, S_IREAD | S_IWRITE);
}
else
{
//use default input
fdin = dup(tmpin);
}
int ret;
int fdout;
for(int i = 0; i... (14 Replies)
Discussion started by: AirBronto
14 Replies
5. UNIX for Dummies Questions & Answers
egrep -A 7 -m 2 -h 'Date:|Time:' *.html
this is showing only 2 line after the context of the 2nd found match. Is this a bug in grep?
egrep -A 7 -m 2 -h 'Time:' *.html - this works correctly (2 Replies)
Discussion started by: zer0
2 Replies
6. Shell Programming and Scripting
I am trying to copy 2 types of files so I can archive them. I tested with a set of commands:
touch -t $(date -d "-60 day" +%Y%m%d) WORKDIR/REF
find TARGETDIR/ -type f -maxdepth 1 -iname \*.out\* -or -iname \*.log\* ! -newer WORKDIR/REF -exec ls -l {} \;
This correctly lists any files in the... (2 Replies)
Discussion started by: prismtx
2 Replies
7. Shell Programming and Scripting
We are using Red Hat linux system.
I am transferring my rman backup files to another server.
Here is the command i am using to transfer the files.
/usr/bin/rsync -avpP --delete /xyz/xyz/ 99.99.999.99::db110bkp
Here is the rsync version.
>rsync --version
rsync version 3.0.6 ... (1 Reply)
Discussion started by: govindts
1 Replies
8. UNIX for Dummies Questions & Answers
Consider the following code:
grep -o -e '^STEAM_::\d+$' workfile3.tmp
A sample format of a valid string for the regexp would be:
STEAM_0:1:12345678
Here is an example line from the workfile3.tmp file:
465:L 01/02/2012 - 00:05:33: "Spartan1-1-7<8><STEAM_0:1:47539638><>" connected
No... (2 Replies)
Discussion started by: spinner0205
2 Replies
9. Shell Programming and Scripting
Hi
I am attempting to right a script which will read a table and extract specfic information.
LASTFAILEDJOB=/usr/openv/netbackup/scripts/GB-LDN/Junaid/temp_files/lastfailedjob
cat /usr/openv/netbackup/scripts/GB-LDN/Junaid/temp_files/lastfailedjob
237308646
If i run the following... (5 Replies)
Discussion started by: Junes
5 Replies
10. UNIX for Dummies Questions & Answers
Hello All,
Yesterday, all day, I was using x11vnc and vncviewer to connect to a server. But today for some reason it is not working. I don't
remember changing any settings or anything like that, but because it stopped working correctly I guess something has...?
I'm issuing the exact same... (0 Replies)
Discussion started by: mrm5102
0 Replies
LEARN ABOUT DEBIAN
dh_haskell_extra_depends
DH_HASKELL_EXTRA_DEPENDS(1) Haskell devscripts documentation DH_HASKELL_EXTRA_DEPENDS(1)
NAME
dh_haskell_extra_depends - generate the extra-depends file in Haskell packages
SYNOPSIS
dh_extra_haskell_depends [debhelper options] [-Xpackage] [--exclude=package] [file ...]
DESCRIPTION
dh_haskell_extra_depends is a debhelper program that helps with calculating dependencies for building Haskell libraries.
Since Haskell libraries are statically linked, packagers that use Haskell libraries cannot rely on the fact that dynamical libraries are
dependencies of their packages to be sure that possible runtime data packages are installed at execution time. The extra dependencies
mechanism allows libraries to declare some packages that are to be added to the dependency list of each package that uses them to build.
This script scans the Haskell dependencies and harvest extra dependencies information, putting them in the file debian/extra-depends, which
is later used by dh_haskell_depends to be included in the substvars file.
BUGS
None, as far as we know. :-)
SEE ALSO
dh_haskell_depends(1) debhelper(7)
AUTHOR
Giovanni Mascellani <gio@debian.org>
Haskell devscripts 0.8.12 2011-07-30 DH_HASKELL_EXTRA_DEPENDS(1)